:root {
    color-scheme: light;
}
*{
	padding:0;
	margin:0;
}

@font-face {
    font-family: Helvetica;
    src: url("../fonts/HelveticaNeue-Regular.otf");
}

@font-face {
    font-family: Gotham;
    src: url("../fonts/SVN-Gotham-Book.otf");
}

@font-face {
    font-family: Lexend;
    src: url("../fonts/Lexend-Regular.otf");
}

body{
	font-family: 'Gotham', 'Arial', sans-serif;
	background-color:#fefefe;
	color:#000;
	font-size: 18px;
}
em{
	font-size:inherit;
}
.ppp-mobile-img{
	display:none;
}
.ppp-ipad-img{
	display:none;
}
.ppp-desktop-img{
	display:block;
	}

    @media screen and (max-width: 479px){

        .ppp-mobile-img{
            display:block;
        }
        .ppp-desktop-img{
            display:none;
        }
        .ppp-ipad-img{
            display:none;
        }
    }
    @media screen and (max-width: 768px) and (min-width:480px){
        .ppp-mobile-img{
            display:block;
        }
        .ppp-ipad-img{
            display:none;
        }
        .ppp-desktop-img{
            display:none;
        }
    }
    @media screen and (max-width: 1024px) and (min-width:769px){
    
        .ppp-mobile-img{
            display:none;
        }
        .ppp-desktop-img{
            display:none;
        }
        .ppp-ipad-img{
            display:block;
        }
    }

html {
    width: 100%;
    height: 100%;
}

h1 {
	font-size: 38px;
}
h2 {
	font-size: 36px;
}
h3 {
	font-size: 32px;
}
h4 {
	font-size: 28px;
}
h5 {
	font-size: 24px;
}
h6 {
	font-size: 20px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Gotham', 'Arial', 'sans-serif';
  font-weight: 200;
  letter-spacing: 0; }

p {
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 20px; }



h1.h-xlight,h2.h-xlight,h3.h-xlight ,h4.h-xlight ,h5.h-xlight ,h6.h-xlight  {
	font-weight: 200;
}

h1.h-light,h2.h-light,h3.h-light ,h4.h-light ,h5.h-light ,h6.h-light  {
	font-weight: 300;
}

h1.h-bold,h2.h-bold,h3.h-bold ,h4.h-bold ,h5.h-bold ,h6.h-bold  {
	font-weight: 600;
}

h1.font-light,h2.font-light,h3.font-light,h4.font-light,h5.font-light,h6.font-light {
	color: #fff;
}

.big-heading {
	font-size: 48px;
	font-weight: 700;
}

p.lead {
	font-weight: 600;
}

.highlight-light {
	background-color: rgba(255,255,255,.5);
	padding: 20px;
	display: inline-block;
	color: #111;
}

.highlight-dark {
	background-color: rgba(0,0,0,.5);
	padding: 20px;
	display: inline-block;
	color: #fff;
}

.highlight-color {
	padding: 20px;
	display: inline-block;
}

a {
    color: #000;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

a:hover,
a:focus {
    text-decoration: none;
    color: #333;
}

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 24px;
	line-height: 1.5em;
  font-weight: 300;
  color: #999;
}

blockquote.bg-light {
	background-color: rgba(255,255,255,.8);
	padding: 20px;
	color: #222;
}

blockquote.bg-dark {
	background-color: rgba(0,0,0,.8);
	padding: 20px;
}

blockquote strong {
  font-weight: 700;
}


.light {
    font-weight: 400;
}

/* --- logo --- */
.site-logo {
	margin-top: 10px;
}
.site-logo a.brand {
	color: #111;
	text-transform: uppercase;
	font-size: 32px;
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
	margin-top: 20px;
}


/* ------- Navigation ------------ */

.fa-1x {
    font-size: 1.8rem;
    }
.navbar-toggler.toggler-example {
    cursor: pointer;
    outline: none !important;
}

.white-text {
    color: #fff;
    }

#navigation {
	background: #000;
	z-index: 9999;
	width:100%;
    box-sizing:border-box;
	border-bottom: 1px solid #eee;
	box-shadow:0px 0px 20px rgba(0, 0, 0, 0.1);
}


.navbar {
    margin-bottom: 0;
}

.navbar-dark {
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0px 0px 5px #ccc;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.navbar-dark .navbar-nav .active>.nav-link {color: #000;}
.navbar-dark .navbar-nav .nav-link:hover {color: #555;}
.navbar-dark .navbar-nav .nav-link {color: #333;}

.navbar-brand {
    font-weight: 700;
}

.navbar-brand:focus {
    outline: 0;
}

.navbar-toggler {
    border: none;
}

img.navbar-logo {
    
    z-index: 999;
}

img.logo-new {
    margin-left: -20%;
}

img.img-flag {
    width: 25px;
}

.navbar-flag {
    display: inline-block;
    padding-top: .3125rem;
    padding-bottom: .3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap;
}

@media only screen and (max-width: 768px){
    img.logo-new {height: 60px; margin-left: 0;}

    img.img-flag {
        width: 20px;
    }
    .navbar-dark {
        background-color: rgba(255, 255, 255, 0.9);
    }

}

@media only screen and (max-width: 992px) {

    .fa-1x {
        font-size: 1.4rem;
        }

    ul.navbar-nav {
        text-align: center;
        padding: 5% 0px;
        gap: 15px;
    }
    
    ul.navbar-nav li {
        padding: .25rem 0px !important;
    }

    ul.navbar-nav li a {
        margin-left: 0;
    }

    .navbar-dark {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1030;
    }

    .navbar-toggler {
        margin-top: -5%;
    }
}

@media only screen and (max-width: 690px){
    .navbar-toggler {
        margin-top: -7%;
    }
}

@media only screen and (max-width: 480px){
    .navbar-toggler {
        margin-top: -10%;
    }
}

@media (min-width: 993px) {

    ul.navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        padding: 2% 0px;
    }
    ul.navbar-nav li {
        padding: 0.2rem 1rem!important;
        margin-left: 1%;
    }

}

.nav.navbar-nav {
    background-color: rgba(255,255,255,.6);
}

.navbar-custom.top-nav-collapse .nav.navbar-nav {
    background-color: rgba(0,0,0,0);
}

.navbar-custom ul.nav li a {
	font-size: 12px;
	letter-spacing: 1px;
    color: #444;
	text-transform: uppercase;
	font-weight: 700;
}

.navbar-custom.top-nav-collapse ul.nav li a {
	    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	color: #fff;
}

.navbar-custom ul.nav ul.dropdown-menu {
	  border-radius: 0;	
	margin-top: 21px;
	border-top: none;
}

.navbar-custom ul.nav li a:hover ul.dropdown-menu {
	    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}


.navbar-custom ul.nav ul.dropdown-menu li {
	border-bottom: 1px solid #f5f5f5;

}

.navbar-custom ul.nav ul.dropdown-menu li:last-child{
	border-bottom: none;
}

.navbar-custom ul.nav ul.dropdown-menu li a {
	padding: 10px 20px;
}

.navbar-custom ul.nav ul.dropdown-menu li a:hover {
	background: #fefefe;
}

.navbar-custom.top-nav-collapse ul.nav ul.dropdown-menu li a {
	color: #666;
}

.navbar-custom .nav li a {
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .nav li.active {
    outline: 0;
    background-color: rgba(255,255,255,.2);
}
.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .nav li.active {
    outline: 0;
    background-color: rgba(255,255,255,.2);
}

.navbar-toggle {
    padding: 4px 6px;
    font-size: 14px;
    color: #fff;
}

.navbar-toggle:focus,
.navbar-toggle:active {
    outline: 0;
}

.navbar .in a {
    color: #666 !important;
}

.navbar .in a:hover {
    color: #3DC9B3 !important;
}


.bg-white {background: rgba(255, 255, 255, 0.8); position: absolute; bottom: 0; width: 100%; border-radius: 20% 40% 0 0;}
.bg-white-ipad {background: rgba(255, 255, 255, 0.8); position: absolute; bottom: 0; width: 100%; border-radius: 20% 40% 0 0;}

/* ===========================
--- Hero Section (single responsive block)
    Replaces 3-duplicate .ppp-desktop/ipad/mobile-img pattern in <header>.
    thankyou.html still uses those classes for its own layout.
============================ */

.hero-section {
    position: relative;
    overflow: hidden;
}

.hero-video-wrap {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #000; /* fallback while video loads */
}

/* Video fills hero area entirely via object-fit */
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

/* Overlay text + CTA */
.hero-content {
    position: absolute;
    bottom: 5%;
    width: 100%;
    color: #000;
    z-index: 3;
    padding: 0 15px;
}

.hero-title {
    font-size: clamp(1.6rem, 4vw, 3rem);
    letter-spacing: 1px;
    color: #fff;
}

.hero-subtitle {
    font-size: clamp(1rem, 2.5vw, 1.8rem);
    color: #fff;
}

.hero-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

/* Tablet (769px – 1024px) */
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .hero-content { bottom: 4%; }
}

/* Mobile (≤768px) */
@media screen and (max-width: 768px) {
    .hero-video-wrap { height: 100svh; }
    .hero-content    { bottom: 5%; }
}

/* ===========================
--- Intro (legacy — kept for .bg-video-wrap used in thankyou.html / other sections)
============================ */

.bg-video-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
  }
  video {
    min-width: 120%;
    min-height: 100vh;
    z-index: 1;
    transform: translateX(0) translateY(0);
  }
  @media (max-width: 1024px) {
    video {
        transform: translateX(-15%) translateY(-20%);
        min-width: 100%;
      }
  }
  @media (max-width: 768px) {
    .bg-video-wrap {
        height: 100vh;
      }
    video {
        transform: translateX(0) translateY(0);
        width: auto;
        height: 105vh;
    }
}
  .overlay {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background-image: linear-gradient(45deg, rgba(0,0,0,.3) 50%, rgba(0,0,0,.7) 50%);
    background-size: 3px 3px;
    z-index: 2;
  }

/* Background Video */

.section-1 {
    position: relative;
    overflow: hidden;
    height: auto;
}

.section-1 h1{
    font-size: 2.4rem;
}

.section-1 h3{
    font-size: 2.4rem;
    
    letter-spacing: 1px;
}
.section-1 h6{
    font-size: 1.6rem;
}

.section-1 .scrolldown {
    position: absolute;
    bottom: 6%;
    width: 100%;
    text-align: center;
}

.section-1 .el-left {
    position: absolute;
    bottom: 22%;
    left: 5%;
    
}

.section-1 .el-right {
    position: absolute;
    bottom: 3%;
    right: 35%;
    text-align: center;
    color: #f5f1b0;
}

@media screen and (max-width: 1600px){
    .section-1 h1{
        font-size: 2.3rem;
    }

    .section-1 h6{
        font-size: 1.6rem;
    }

    .section-1 .el-left {
        position: absolute;
        bottom: 22%;
        left: 5%;
        
    }
    
    .section-1 .el-right {
        position: absolute;
        bottom: 10%;
        color: #f5f1b0;
        right: 4%;
    }
}

@media screen and (max-width: 1024px){
    .section-1 h1{
        font-size: 1.5rem;
        
        letter-spacing: 1.2px;
    }
    
    .section-1 h3{
        font-size: 1.3rem;
        
        letter-spacing: 1px;
    }
    .section-1 h6{
        font-size: 1.1rem;
    }

    .section-1 .el-left {
        position: absolute;
        bottom: 11.5%;
        left: 5%;
    }
    
    .section-1 .el-right {
        position: absolute;
        bottom: 0%;
        right: 26%;
        color: #f5f1b0;
    }
}

@media screen and (max-width: 768px){
    .section-1 h1 {font-size: 1.6rem;}
    .section-1 h3 {font-size: 1.6rem;}
    .section-1 h6{
        font-size: 1.4rem;
    }

    .section-1 .el-left {
        position: absolute;
        bottom: 10%;
        left: 6%;
        text-align: center;
        width: 90%;
    }
    
    .section-1 .el-right {
        position: absolute;
        bottom: 4%;
        width: 90%;
        right: 4%;
        text-align: center;
    }
}

@media screen and (max-width: 560px){
    .section-1 h1 {font-size: 1.3rem; line-height: 1.0; color: #f5f1b0;}
    .section-1 h3 {font-size: 1.2rem; line-height: 1.0; color: #f5f1b0;}
    .section-1 h6{
        font-size: 1.1rem;
    }

    .section-1 .el-left {
        position: absolute;
        bottom: 7%;
        left: 6%;
        text-align: center;
        width: 90%;
    }
    
    .section-1 .el-right {
        position: absolute;
        bottom: 10%;
        width: 90%;
        right: 4%;
        text-align: center;

    }
}

.section-2 {
    position: relative;
    padding: 4% 0px 2%;
}

.section-2 img{
    border: 1.5px solid #000;
    border-radius: 5px;
    margin-top: 25px;
}

.section-2-mobile {
    position: relative;
    padding: 8% 0px;
}

.section-2-mobile h5 {
    font-size: 1.3rem;
}

.section-2-mobile h6 {
    font-size: 4.0vw;
}

@media screen and (max-width: 600px) {
    .section-2 p {font-size: 17px; line-height: 1.3;}
}

.section-3 {
    position: relative;
    padding: 0;
    
}
	.section-3 h6{font-size: 1.45vw; letter-spacing: 0px;}
	.section-3 h5{font-size: 2.0vw;}
	.section-3 p{line-height: 1.8;}

    @media screen and (max-width: 768px){
        .section-3 p {font-size: 16px;}
    }

.section-3-ipad {
    position: relative;
}
	.section-3-ipad h6{font-size: 1.75vw; letter-spacing: 0px;}
	.section-3-ipad h5{font-size: 2.0vw;}
	.section-3-ipad p{line-height: 1.8;}

.section-3-mobile {
    position: relative;
    padding-bottom: 8%;
}

.section-4 {
    position: relative;
    padding: 0px;
}

.section-4 .bg-grey {
    background-color: #f3f3f5;
}

.section-4 .bg-black {
    background-color: #000;
}

.section-4 p {
    margin-bottom: 5px;
    font-size: 1.1rem;
}

.section-4 h1{
    font-size: 1.3rem;
    margin-bottom: 25px;
    line-height: 1.5;
}

.section-4 h2{
    font-size: 2.5rem;
    line-height: 1.2;
    margin: auto auto 25px;
    color: #fff;
    text-align: center;
}

.section-4 h5{
    font-size: 1.3rem;
    margin-bottom: 25px;
    line-height: 1.5;
}

.section-4 h6{
    font-size: 1.1rem;
    line-height: 1.4;
}

.section-4-mobile {
    position: relative;
    padding: 0px;
}

.section-4-mobile .bg-grey {
    background-color: #f3f3f5;
}

@media screen and (max-width: 1024px){
    .section-4 p {
        margin-bottom: 5px;
        font-size: 14px;
    }
    
    .section-4 h1{
        font-size: 1.1rem;
        line-height: 1.3;
    }

    .section-4 h5{
        font-size: 1.1rem;
        line-height: 1.3;
    }
    
    .section-4 h6{
        font-size: 1.1rem;
        line-height: 1.4;
    }
}

@media screen and (max-width: 768px) {
    .section-4 h2{
        font-size: 1.3rem;
        
    }
}

.section-4-mobile h5 {
    font-size: 1.2rem;
    margin-bottom: 25px;
}
.section-4-mobile p {
    font-size: 0.9rem;
    margin-bottom: 5px;
}

.section-procedure {
    padding: 50px 0px;
}
.section-procedure img {
    padding: 10px;
}

@media screen and (max-width: 560px){
    .section-procedure h5 {font-size: 1rem;}
    .section-procedure h4 {font-size: 1.2rem;}
}

.section-5 {
    position: relative;
    padding: 50px 0px;
}

.section-5 .col-md-4 p {font-size: 0.9rem;}

.section-5 .founder, p.info-founder {
    position: absolute;
    bottom: 40%;
    width: 50%;
    font-size: 0.7rem;
    left: 3%;
    margin-bottom: 0px;
    display: none;
}

/* .row-container layout — scoped rules: only apply when inside .row-container
   (previously these were global and broke .container.animatedParent on promotion/about sections) */
.row-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.row-container .container.animatedParent {
    flex: 1;
    max-width: 50%;
}

.row-container .middle-div {
    flex: 1;
    max-width: 50%;
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .row-container .container.animatedParent {
        flex: 1;
        max-width: 100%;
    }

    .row-container .middle-div {
        flex: 1;
        max-width: 98%;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .row-container {
        flex-direction: column;
    }

    .row-container .container.animatedParent,
    .row-container .middle-div {
        max-width: 100%;
        flex: none;
    }
}

@media screen and (min-width: 769px){
.section-5 .col-md-4:nth-child(2), .col-md-4:nth-child(5) {
    height: 150px;
    border-width: 0.5px;
    border-style: solid;
    border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0),rgb(29, 29, 29, 1), rgba(0, 0, 0, 0)) 1 100%;
  }
}


.section-5-mobile .col-md-4 {
    border-width: 1px;
    border-style: solid;
    border-image: 
    linear-gradient(to right, rgba(0, 0, 0, 0), rgba(1, 1, 1, 0.3),rgba(0, 0, 0, 0)) 100% 1;
}

.section-5-mobile {
    position: relative;
    padding: 0px 0px 20px;
}

.section-5-mobile h5{
    font-size: 1.2rem;
}

.section-5-mobile p {
    font-size: 0.8rem;
    margin-bottom: 0px;
}


.section-6 {
    padding: 5% 0px;
    position: relative;
    background-color: #353335;
    margin-top: 5%;
}

@media screen and (max-width: 768px) {
    .section-6 {
        padding: 7% 2%;
    }

    .section-6 h6 {
        font-size: 1.2rem;
    }
    
    .section-6 p {
        font-size: 0.9rem;
    }
}

.section-register {
    position: relative;
	padding: 5% 0px 2%;
    background-color: #ebebeb;
    background-image:url('../img/foo-bg-ppp.jpg');
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center center;
}

.section-register h4 {font-size: 1.5rem;}
.section-register h2 {font-size: 2.4rem; color: #000;}
.section-register p {font-size: 0.9rem;}

    .section-register .footer-info {
        width: 95%;
        margin: auto;
        display: flex;
        flex-direction: row-reverse;
    }
    .section-register .footer-info .footer-left {
        width: 45%;
        padding: 20px;
        margin: auto;
    }

    .section-register .footer-info .footer-right {
        width: 45%;
        padding: 0;
        margin: auto;
    }

    .footer-right .chinhanh-list {
        color: #bbb;
        margin-top: 60px;
    }

    .footer-right .logo-footer img{
        width: 320px;
    }

    .footer-right .chinhanh-list .chi-nhanh-list {
        width: 33%;
        font-size: 11px;
        text-align: center;
    }
        .chi-nhanh-list .head {font-size: 12px;}

    .footer-right ul {list-style-type: none;}

    .copyright {
        color: #333;
        margin-top: 50px;
    }
    .copyright p{
        font-size: 10px;
        margin: 0;
    }

   
    @media screen and (max-width: 1024px){
        .section-register .footer-info .footer-left {
            width: 50%;
            padding: 10px;
            margin: auto;
        }
    
        .section-register .footer-info .footer-right {
            width: 40%;
            padding: 0;
            margin: auto;
        }

        .footer-right .chinhanh-list .chi-nhanh-list {
            width: 33%;
            font-size: 9px;
            text-align: center;
        }

        .copyright p{
            font-size: 9px;
            margin: 0;
        }
    }

    @media screen and (max-width: 768px){
        .section-register h4 {font-size: 1.1rem;}
        .section-register h2 {font-size: 1.7rem;}
        .section-register p {font-size: 0.8rem;}


        .section-register .footer-info {
            flex-direction: column-reverse;
        }

        .section-register .footer-info .footer-left {
            width: 100%;
            padding: 10px;
            margin: auto;
        }
    
        .section-register .footer-info .footer-right {
            width: 90%;
            padding: 0;
            margin: auto;
        }

        .footer-right .logo-footer img{
            width: 200px;
        }
        .footer-right .chinhanh-list {
            margin-top: 40px;
        }

        .footer-right .chinhanh-list .chi-nhanh-list {
            width: 100%;
            font-size: 12px;
            text-align: center;
            margin: auto;
        }
            .chi-nhanh-list .head {font-size: 13px;}

        .copyright {
            
            margin-top: 40px;
        }
        .copyright p{
            font-size: 9px;
            margin: 0;
        }

        button.register-bottom {margin-top: 50px;}

        .section-register {
            position: relative;
            padding: 10% 0px;
            background-color: #ebebeb;
            background-image:url('../img/foo-bg-ppp.jpg');
            background-repeat: no-repeat;
            background-size: 200%;
            background-position: top 35% center;
        }
    }


/* register-top: unified class — replaces old register-top + register-top-mobile pair */
.register-top {
    background: #fff;
    padding: 7px 35px;
    color: #000;
    display: inline-block;
    font-size: 1.1rem;
    border-radius: 0;
    border: 1.5px solid #fff;
    cursor: pointer;
    font-weight: 200;
    text-align: center;
    width: clamp(200px, 75vw, 350px); /* fluid: shrinks on narrow screens, caps at 350px */
    margin: auto;
}
.register-top:hover,
.register-top:focus {
    background: rgba(255, 255, 255, 0.5);
    color: #000;
    border: 1.5px solid #000;
}

@media screen and (max-width: 768px) {
    .register-top {
        font-size: 0.95rem;
        padding: 7px 20px;
    }
}

/* register-top-mobile kept as alias for backward-compat (en.html older pages) */
.register-top-mobile {
    background: #fff;
    padding: 7px 20px;
    color: #000;
    display: inline-block;
    font-size: 0.95rem;
    border-radius: 0;
    border: 1.5px solid #fff;
    cursor: pointer;
    font-weight: 200;
    text-align: center;
    width: clamp(200px, 75vw, 300px);
    margin: auto;
}
.register-top-mobile:hover,
.register-top-mobile:focus {
    background: rgba(255, 255, 255, 0.5);
    color: #000;
    border: 1.5px solid #000;
}

.register-middle { background: #000; padding: 8px 30px; color: #fff; text-transform: uppercase; display: inline-block; margin: 0 0 30px; font-size: 1.3rem; border-radius: 0px; border: 1px solid #fff; cursor: pointer; width: fit-content;}
.register-middle:hover, .register-middle:focus { background: #f3f3f5; color: #000; border: 1px solid #000}

.register-middle-mobile { background: #fff; padding: 3px 25px; color: #000; text-transform: uppercase; display: inline-block; margin: 0; font-size: 4.5vw; border-radius: 0px; border: 1px solid #fff;  cursor: pointer;}
.register-middle-mobile:hover, .register-middle-mobile:focus { background: rgba(255, 255, 255, 0); color: #fff; }

.register-bottom { background: #000; padding: 5px 45px; color: #fff; text-transform: uppercase; display: inline-block; margin: 30px 0 0; font-size: 1.2rem; border-radius: 0px; border: 1.5px solid #333; cursor: pointer; width: fit-content;}
.register-bottom:hover, .register-bottom:focus { background: rgba(255,255,255, 1); color: #000; border: 1.5px solid #333; }

.register-bottom-mobile { background: #000; padding: 5px 28px; color: #fff; text-transform: uppercase; display: inline-block; margin: 30px 0 0; font-size: 1.2rem; border-radius: 0px; border: 1.5px solid #333;cursor: pointer; width: fit-content; }
.register-bottom-mobile:hover, .register-bottom-mobile:focus { background: rgba(255,255,255, 01); color: #000; border: 1.5px solid #333;}


/* Before - After */
.before { background: url(../img/background-02.jpg) no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; height: auto; padding: 100px 0px 100px 0px;}

.before-mobile { background: url(../img/background-02-mobile.jpg) no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; height: auto; padding: 100px 0px 50px 0px;}

/* Menu bar */

.menu-bar{padding: 10px 5px; border-bottom: 5px solid transparent; cursor: pointer;}
.menu-bar:hover{border-bottom: 5px solid #00a8e8; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}

.menu-bar-ipad{padding: 5px 5px; border-bottom: 3px solid transparent;}
.menu-bar-ipad:hover{border-bottom: 3px solid #00a8e8; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; transition: all .2s ease-in-out;}


.bg-btn {background-image: linear-gradient(to right, rgba(227, 200, 19, 0.94), rgba(251, 248, 238, 0.92), rgba(255, 230, 153, 0.94)); cursor: pointer;}
.bg-btn-mobile {background-image: linear-gradient(to right, rgba(227, 200, 19, 1), rgba(251, 248, 238, 0.92), rgba(255, 230, 153, 0.94)); cursor: pointer;}

.menu-bg {color: #fff; padding: 4px 15px !important; border-radius: 50px; color: #333 !important}
.menu-bg:hover {background-color: rgba(249, 200, 19, 0.8);}

.intro {
	width:100%;
	position:relative;
	padding:0;
}
.intro-inner {
	width:100%;
	position:relative;
	padding:120px 0 20px;
}

.brand-heading {
    font-size: 40px;
}

.intro-text {
    font-size: 18px;
}


/* Carousel Styles */

.carousel-inner img {
    width: 100%;
    /* max-height: 650px; */
}

.carousel-control {
    width: 0;
}

.carousel-control.left,
.carousel-control.right {
	opacity: 1;
	filter: alpha(opacity=100);
	background-image: none;
	background-repeat: no-repeat;
	text-shadow: none;
}

.carousel-control.left span {
	padding: 0;
}

.carousel-control.right span {
	padding: 0;
}

.carousel-control .glyphicon-chevron-left, 
.carousel-control .glyphicon-chevron-right, 
.carousel-control .icon-prev, 
.carousel-control .icon-next {
	position: absolute;
	top: 60%;
	z-index: 5;
	display: inline-block;
}

.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
	left: 30px;
}

.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
	right: 30px;
}



.carousel-control.left span:hover,
.carousel-control.right span:hover {
	opacity: .7;
	filter: alpha(opacity=70);
}

.carousel-inner > .item {
  margin-left:0;
  margin-top:0;
  margin-bottom:0;
  padding-left: 0;
  width: 100%;
  height: auto;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left:0;
  padding-left: 0;
}

.carousel-indicators {
    margin: 0px;
    height: 0px;
}

    .carousel-indicators ol {
        width: 100%;
    }
    .carousel-indicators li{
        height: 10px !important;
        border-radius: 50% !important;
        width: 10px !important;
		background-color: #111;
    }
	.carousel-indicators li:active, .carousel-indicators .active{
        height: 10px !important;
        border-radius: 50% !important;
        width: 10px !important;
		background-color: #00a8e8;
    }

/* Carousel Header Styles */
.header-text {
    position: absolute;
    top: 20%;
    left: 1.8%;
    right: auto;
    width: 96.66666666666666%;
    color: #fff;
}

.header-text h2 {
    font-size: 40px;
}

.header-text h2 span {
	padding: 10px;
	color: #fff;
	text-transform: uppercase;
}

.header-text h3 span {
	color: #fff;
}

.btn-min-block {
    min-width: 170px;
    line-height: 26px;
}

.btn-theme {
    color: #fff;
    background-color: transparent;
    border: 2px solid #fff;
    margin-right: 15px;
}

.btn-theme:hover {
    color: #000;
    background-color: #fff;
    border-color: #fff;
}

/* ===========================
--- About
============================ */




/* ===========================
--- Services
============================ */
.service-box {
	background: #fff;
	border-bottom: 2px solid #f7f7f7;
	padding: 40px 20px;
}

.service-box:hover {
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	margin-top: -20px;
}

.service-icon {
	margin-bottom: 20px;
}	

.service-desc h5 {
	text-transform: uppercase;
	font-weight: 700;
	color: #666;
	font-size: 18px;
	margin-bottom: 10px;
}
.service-desc .divider-header {
	margin-bottom: 30px;
}

/* ===========================
--- Works
============================ */

.item {
    margin: 10px;
}

.item img {
    display: block;
    width: 100%;
    height: auto;
}	

/* ===========================
--- Contact
============================ */


.form-group {
  margin-bottom: 30px;
}

.validation {
    color: red;
    display:none;
    margin: 0 0 20px;
    font-weight:400;
    font-size:13px;
}

#sendmessage {
    color: green;
    border:1px solid green;
    display:none;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#errormessage {
    color: red;
    display:none;
    border:1px solid red;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#sendmessage.show, #errormessage.show, .show {
	display:block;
}

form#contact-form .form-group label {
	text-align: left !important;
	display: block;
	text-transform: uppercase;
	font-size: 16px;
}
form#contact-form input,form#contact-form select,form#contact-form textarea {
	font-size: 14px;
	line-height: 1.6em;
	border: 1px solid #eee;
  -webkit-box-shadow: none;
          box-shadow:  none;
	border-radius: 2px;
}

.btn-lg,
.btn-group-lg > .btn {
  border-radius: 2px;
}

form#contact-form input:focus,form#contact-form select:focus,form#contact-form textarea:focus {
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.input-group-addon {
  background-color: #fefefe;
  border: 1px solid #eee;
}

.widget-contact {
	text-align: left;
}



/* ===========================
--- Bottom
============================ */

.boxcol-25 {
	width: 100%;
}

.box-social {
	list-style: none;
}

.box-social li {
	width: 25%;
	float: left;
}


.box-social .social-facebook a { 
	display: block;
	background: #3873ae;
}


/* ==== Sidebar ==== */
.sidebar .widget h5 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
	text-transform: uppercase;
}
.sidebar .widget {
	margin-bottom: 50px;
}

.widget ul {
	list-style: none;
	margin-left:0;
	padding-left:0;
}
.sidebar .widget ul li {
	margin-left:0;
	padding-left:0;
	margin-bottom: 10px;
}
.sidebar .widget ul li a {
	color: #666;
}


.widget.widget_categories ul li:before {
	display: inline-block;
	font-family: 'Pe-icon-7-stroke';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e684";
	margin-right: 10px;
}


.widget.widget_recent_post ul li figure {
	float: left;
	margin: 0 20px 0 0;
}

.widget.widget_recent_post ul li {
	margin-bottom: 25px;
}

.widget.widget_recent_post ul li:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.widget.widget_recent_post ul li h6 {
	margin-bottom: 10px;
}
.widget.widget_recent_post ul li span {
	font-size: 14px;
}

.widget .tagcloud a {
	padding: 4px 10px;
	color: #fff;
	display:inline-block;
	margin: 0 10px 10px 0;
	font-size: 14px;
	border-radius: 2px;
}

.widget .tagcloud a:hover {
	color: #fff;
	background: #333;
}

/* --- widget --- */

form.search-form input {
	font-size: 18px;
	line-height: 1.6em;
	border: 1px solid #eee;
  -webkit-box-shadow: none;
          box-shadow:  none;
	border-radius: 2px;
}

form.search-form input:focus {
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

/* Footer */

footer {
    
    color: rgb(255, 255, 255, 0.8);
}
footer p {
  font-size: 12px;
  margin: 0; }
footer ul.content {
  margin-left: 10px;
  list-style: none;
}
  footer ul li a {
    
    color: rgba(255, 255, 255, 0.3); }
    footer ul li a:hover, footer ul li a:focus, footer ul li a:active, footer ul li a.active {
      text-decoration: none; }
    
    footer h2.footer-title::before,
    footer h2.footer-title::after{
        display: inline-block;
        content: "";
        border-top: .1rem solid rgb(245, 245, 245);
        width: 5rem;
        margin: 0 1rem;
        transform: translateY(-8px);
    }
    
    .footer-bottom {
        background-color: #0c0c0c;
        padding: 30px 0px;
    }

    footer .chinhanh-list .chi-nhanh-list {
        width: 24.5%;
        padding: 3% 0px;
        font-size: 12px;
        text-align: center;
    }

    .chi-nhanh-list .head {
        color: #fff;
        text-transform: uppercase;
        
        position: relative;
        padding: 7px 0;
    }

footer ul.icon-social {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

footer ul.icon-social i {
    color: #fff;
}

footer ul.icon-social li {
    display: inline;
    margin-right: 15px;
}

footer .chinhanh-list {
    margin-top: 35px;
}

@media (min-width: 320px){
    footer .chinhanh-list .chi-nhanh-list {
        margin: auto;
        display: inline-block;
        width: 90%;
        vertical-align: top;
    }
    footer h2 {
        font-size: 1.5rem;
    }
}

@media (min-width: 680px) {

    footer .chinhanh-list .chi-nhanh-list {
        width: 49.5%;
        margin-bottom: 20px;
    }
}

@media (min-width: 769px) {

    footer .chinhanh-list .chi-nhanh-list {
        width: 30.5%;
        margin-bottom: 20px;
    }

    footer {
        background-size: 80%;
    }
}


/* --- button --- */
.btn {
	border-radius: 2px;
	position: relative;
	display: inline-block;
	outline: none;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 400;	
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
	font-size: 14px;
}

.btn.btn-noradius {
	border-radius: 0;
}

a.btn:focus{
	outline: 0;
}

.btn-red {
  color: #fff;
  background-color: #c83539;
  border-color: #c83539;
}
.btn-red:hover,
.btn-red:focus,
.btn-red:active,
.btn-red.active {
  color: #fff;
  background-color: #666;
  border-color: #666;
}
.btn-red:active {
  background-image: none;
}


.btn-skin:hover,
.btn-skin:focus,
.btn-skin:active,
.btn-skin.active {
  color: #fff;
  background-color: #666;
  border-color: #666;
}


.btn-default:hover,
.btn-default:focus {
    border: 1px solid #28c3ab;
    outline: 0;
    color: #000;
    background-color: #28c3ab;
}

.btn-huge {
    padding: 25px;
    font-size: 26px;
}

.banner-social-buttons {
    margin-top: 0;
}

/* --- progress --- */
.progress {
  height: 40px;

}
.progress-bar {
  font-size: 14px;
  line-height: 40px;
}

/* Media queries */



/* Carousel Mobile */
.carousel-mobile {
    position: absolute;
    bottom: -40px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none;
}

.popup-reg {
    top: 350px;
    z-index: 100000;
    /*background: rgba(157, 162, 123, 0.6) none repeat scroll 0px 0px;*/
    color: rgb(255, 255, 255);
    right: 5px;
    padding: 2px;
    font-family: Roboto Condensed;
    position: fixed;
    font-size: 15px;
    width: 40px;
    line-height: 24px;
}

.hotline-bottom {
	position: fixed;
    min-width: 320px;
    bottom: 0;
    z-index: 998;
    width: 100%;
	background-color: #fff;
	border-top: 1px solid #09a7ee;
   
    color: #09a7ee;
	
}

.img-border {
    padding: 5px;
    border: 3px solid #718da5;
}

/* effect-shine */
h6.effect-shine, hr.effect-shine, p.effect-shine, img.effect-shine:hover, button.effect-shine:hover {
  -webkit-mask-image: linear-gradient(-75deg, rgba(0,0,0,.6) 30%, #000 50%, rgba(0,0,0,.6) 70%);
  -webkit-mask-size: 200%;
  animation: shine 2s infinite;
}

@-webkit-keyframes shine {
  from {
    -webkit-mask-position: 150%;
  }
  
  to {
    -webkit-mask-position: -50%;
  }
}

/* Image Blink */

img.blink {
    -webkit-animation: blink 1s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation: blink 1s;
    -moz-animation-iteration-count: infinite;
    -o-animation: blink 1s;
    -o-animation-iteration-count: infinite;
}

@-webkit-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-moz-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-o-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.font-12{font-size: 12px !important;}
.font-14{font-size: 14px !important;}
.font-16 p, .font-16{font-size: 16px !important;}
.font-18 p, .font-18{font-size: 18px !important;}
.font-20{font-size: 20px !important;}
.font-22{font-size: 22px !important;}
.font-24{font-size: 24px !important;}
.font-mobile{font-size: 2.5vw !important;}
.text-grey{color: #868686}
.text-blue{color: #718da5; font-family: 'Helvetica-light', sans-serif;}
.heading-blue{color: #718da5; font-family: 'Helvetica-light', sans-serif; font-size: 3.5vw; line-height: 1.5; letter-spacing: 2px;}
.title-blue{color: #718da5; font-family: 'Helvetica-light', sans-serif; font-size: 3.8vw; line-height: 1.5; letter-spacing: 2px;}
.gradient-text{
    background: rgb(0,0,0);
    background: -webkit-linear-gradient(-90deg, rgb(255 255 255) 0%, rgb(216 216 216) 40%, rgb(93 92 92) 80%, rgb(35 35 35) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;}
.text-gold{color: #ab8c49;}
.font-weight-bold {font-weight: 700;}
.section-heading{margin-bottom: 50px;}
.text-space{letter-spacing: 2px;}

/* Slider */
.hr-black{border: 0; height: 1px; background: #000; max-width: 100%; margin: 10px 0 15px;}
.hr-gold{border: 0; height: 4px; background: #ab8c49; max-width: 100%;}
.hr-blue{border: 0; height: 2px; background: #718da5; max-width: 100%;}
.hr-grey{border: 0; height: 1px; background-image: linear-gradient(to right, rgba(1, 1, 1, 0.24), rgba(3, 3, 3, 0.72), rgba(1, 1, 1, 0.24)); max-width: 250px; margin: auto;}
.hr-white{border: 0; height: 2px; background-image: linear-gradient(to right, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.24)); max-width: 98%; margin: 5px 0 15px;}
.hr-title{border: 0; height: 1.5px; background-image: linear-gradient(to right, rgba(177, 203, 246, 0.26), rgb(123, 162, 223), rgba(177, 203, 246, 0.26)); width: 70%; margin: auto;}
.hr-break{border: 0; height: 2.0px; background: #00a8e8; max-width: 250px; margin: auto;}

.text-neon {text-shadow: 0 0 0px #fff, 0 0 10px #eae6e6, 0 0 20px #eae6e6, 0 0 30px #eae6e6, 0 0 40px #eae6e6, 0 0 55px #eae6e6, 0 0 75px #eae6e6; letter-spacing: 2px; font-size: 3.5rem; font-weight: 600;}

.text-neon-mobile {text-shadow: 0 0 0px #fff, 0 0 10px #eae6e6, 0 0 20px #eae6e6, 0 0 30px #eae6e6, 0 0 40px #eae6e6, 0 0 55px #eae6e6, 0 0 75px #eae6e6; letter-spacing: 2px; font-size: 1.8rem; font-weight: 600;}

/* Map */
.map {position: relative;}
.dot {position: absolute;}


.padding-0{padding: 0px !important;}

.ket-qua {width:fit-content; width:-webkit-fit-content; width:-moz-fit-content; padding: 5px 10px; background-color: #00a3e4; color: #fff; margin-left: auto; margin-right: auto;}

.scrollUpButton {
  display: none;
  opacity: 0.6;
  position: fixed;
  bottom: 10px;
  right: 10px;
  display: none;
  background: #000;
  color: #fff;
  font-size: 1.2em;
  text-decoration: none;
  padding: 1px 10px;
}

.scrollUpButton:hover {
  text-decoration: none;
  color: #fff;
  opacity: 1;
}

@media only screen and (max-width: 768px) {
    .scrollUpButton {display: none !important;}
}

.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.carousel-control-prev-icon {
    background-image: url('../img/prev-icon.png');
    width: 30px;
    height: 60px;
}

.carousel-control-prev-icon-mobile {
    background-image: url('../img/prev-icon.png');
	background-repeat: no-repeat;
	background-size:contain;
    width: 15px;
    height: 30px;
}

.carousel-control-next-icon {
    background-image: url('../img/next-icon.png');
	width: 30px;
    height: 60px;
}

.carousel-control-next-icon-mobile {
    background-image: url('../img/next-icon.png');
	background-repeat: no-repeat;
	background-size:contain;
    width: 15px;
    height: 30px;
}

.input-group-addon {padding: 13px 13px; background-color: #dbdbdb;}
label {font-size: 18px;}

@keyframes zooming-dot {
		0% {
			transform: scale(0.5);
			-o-transform: scale(0.5);
			-ms-transform: scale(0.5);
			-moz-transform: scale(0.5);
			-webkit-transform: scale(0.5);
		}
		50% {
			transform: scale(1.15);
			-o-transform: scale(1.15);
			-ms-transform: scale(1.15);
			-moz-transform: scale(1.15);
			-webkit-transform: scale(1.15);
		}
		100% {
			transform: scale(0.5);
			-o-transform: scale(0.5);
			-ms-transform: scale(0.5);
			-moz-transform: scale(0.5);
			-webkit-transform: scale(0.5);
		}
	}


.nav-link {
	display: unset !important;
}

span.sup {
    vertical-align: super;
    font-size: 50%;
}

/* Radio Image */

.input-hidden {
	position: absolute;
	left: 46%;
	z-index: 999;
	bottom: -14%;
}

.input-hidden-mobile {
	position: absolute;
	left: 40%;
	z-index: 999;
	bottom: -3%;
}


/* Stuff after this is only to make things more pretty */
input[type=radio] + label>img {
  width: 100%;
  transition: 500ms all;
  transform: scale(0.9);
	-o-transform: scale(0.9);
	-ms-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-webkit-transform: scale(0.9);
}

input[type=radio]:hover + label>img {
  cursor: pointer;
}

input[type=radio]:checked + label>img {
  
  
  transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
}

/* Input Icon */

input[type=text], input[type=email]{
    width:100%;
	border: none;
	background-color: transparent;
    border-bottom:1.5px solid #333;
    border-radius:0px;
    margin:12px 0;
    outline:none;
    padding:10px;
    box-sizing:border-box;
    transition:.3s;
    color: #000;
  }
  
  input[type=text]:focus, input[type=email]:focus{
    border-color: #4c4c4c;
    box-shadow:0 0 8px 0 #4c4c4c;
	background-color: transparent;
  }
  
  .inputWithIcon input[type=text], .inputWithIcon input[type=email]{
    padding-left:10%;
    color: #333;
  }
  
  .inputWithIcon{
    position:relative;
  }
  
  .inputWithIcon i{
    position:absolute;
    left:5%;
    top:30%;
    /*padding:9px 8px;*/
    color:#000;
    transition:.3s;
  }
  
  .inputWithIcon input[type=text]:focus + i{
    color:#000;
  }
  
  .inputWithIcon.inputIconBg i{
    background-color:#aaa;
    color:#000;
    padding:9px 4px;
    border-radius:4px 0 0 4px;
  }
  
  .inputWithIcon.inputIconBg input[type=text]:focus + i{
    color:#000;
    background-color:#be0201;
  }
 
  .form-control::-webkit-input-placeholder{color:#000;opacity:1; text-transform: uppercase;}
  .form-control:-ms-input-placeholder{color:#000;opacity:1; text-transform: uppercase;}
  .form-control::-ms-input-placeholder{color:#000;opacity:1; text-transform: uppercase;}
  .form-control::placeholder{color:#000;opacity:1; text-transform: uppercase;}
 
@media only screen and (max-width: 680px) {
	input[type=text], input[type=email]{
    width:100%;
    border: none;
	border-bottom: 1px solid #333;
    border-radius:0px;
    margin:10px 0;
    outline:none;
    padding:10px;
    box-sizing:border-box;
    transition:.3s;
	color: #000;
	height: 40px;
	font-size: 3.5vw !important; 
  }
  
  input[type=text]:focus, input[type=email]:focus{
    border-color:#4c4c4c;
    box-shadow:0 0 8px 0 #4c4c4c;
  }
  
  .inputWithIcon input[type=text], .inputWithIcon input[type=email]{
    padding-left:12%;
  }
  
  .inputWithIcon{
    position:relative;
  }
  
  .inputWithIcon i{
    position:absolute;
    left:5%;
    top:30%;
    /*padding:9px 8px;*/
    color:#000;
    transition:.3s;
  }
  
  .inputWithIcon input[type=text]:focus + i{
    color:#000;
  }
  
  .inputWithIcon.inputIconBg i{
    background-color:#aaa;
    color:#000;
    padding:9px 4px;
    border-radius:4px 0 0 4px;
  }
  
  .inputWithIcon.inputIconBg input[type=text]:focus + i{
    color:#000;
    background-color:#be0201;
  }
  
  .form-control::-webkit-input-placeholder{color:#000;opacity:1; text-transform: uppercase;}
  .form-control:-ms-input-placeholder{color:#000;opacity:1; text-transform: uppercase;}
  .form-control::-ms-input-placeholder{color:#000;opacity:1; text-transform: uppercase;}
  .form-control::placeholder{color:#000;opacity:1; text-transform: uppercase;}
  
  .logo-top-mobile {width: 40% !important;}
}
    span.sup {
        vertical-align: super;
        font-size: 70%;
        font-family: Helvetica, Arial, sans-serif;
    }

    select.selectpicker {
        height: 50px;
        /* box-shadow: 0px 0px 4px #5b5b58; */
        /* border-radius: 50px; */
        -moz-border-radius: 50px;
        /* -webkit-border-radius: 50px; */
        cursor: pointer;
        outline: none;
        background-color: transparent;
        color: #000 !important;
        font-size: 1.1rem;
        border: none;
        border-bottom: 1.5px solid #000;

    }

	select.selectpicker option {
		color: #333;
		box-shadow: 0px 7px #333;
		font-size: 1.2rem;
	}

    
	@media only screen and (max-width: 768px) {
        select.selectpicker {
            font-size: 1.0rem;
            border: none;
            border-bottom: 1.5px solid #000; 
        }
    
        select.selectpicker option {
           font-size: 1.0rem;
        }
    }


    select.selectpicker-mobile {
        height: 40px;
        /* box-shadow: 0px 0px 4px #5b5b58; */
        /* border-radius: 50px; */
        -moz-border-radius: 50px;
        /* -webkit-border-radius: 50px; */
        cursor: pointer;
        outline: none;
        background-color: transparent;
        color: #000 !important;
        font-size: 1.0rem;
        border: none;
        border-bottom: 1.5px solid #000;
        font-family: 'FontAwesome', 'sans-serif';
        padding-left: 0;
    }

	select.selectpicker-mobile option {
		color: #333;
		box-shadow: 0px 7px #4d4d4d;
		font-size: 1.2rem;
        font-family: 'FontAwesome', 'sans-serif';
	}
/* see more */
#more, #more1, #more2, #more3, #more4, #more5 {display: none;}

/* typerwriter */
.typewriter h1 {
    overflow: hidden; /* Ensures the content is not revealed until the animation */
    border-right: .15em solid #000; /* The typwriter cursor */
    white-space: nowrap; /* Keeps the content on a single line */
    margin: 0 auto; /* Gives that scrolling effect as the typing happens */
    letter-spacing: 0.1em; /* Adjust as needed */
    animation: 
      typing 3.5s steps(40, end),
      blink-caret .75s step-end infinite;
    font-size: 1.6rem;
    color: #fff;
  }
  
  /* The typing effect */
  @keyframes typing {
    from { width: 0 }
    to { width: 100% }
  }
  
  /* The typewriter cursor effect */
  @keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color:  transparent; }
  }

/* grey scale image */
.cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  .vh-100 {
    height: 100vh;
  }
  
  .img-wrapper {
    display: grid;
  }
  
  .img-wrapper div {
    grid-column: 1;
    grid-row: 1;
  }
  
  
  /* CLIP-PATH STYLES
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  .grayscale {
    filter: grayscale(1);
    background-color: var(--gray);
  }
  
  .colored {
    clip-path: inset(0 100% 0 0);
    transition: all 1.5s ease-in-out;
  }
  
  .colored[data-animation="to-left"] {
    clip-path: inset(0 0 0 100%);
  }
  
  .colored[data-animation="to-top"] {
    clip-path: inset(0 0 100% 0);
  }
  
  .colored[data-animation="to-bottom"] {
    clip-path: inset(100% 0 0 0);
  }
  
  .colored.is-animated {
    clip-path: inset(0);
  }

  img {
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
  }

/*

@media only screen and (min-width: 992px) {
  /* Grayscale image on hover 
  
  
  img {

    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
  }
  img:hover {
    filter: grayscale(0%);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
  }

}
*/
.img-filter-none {
    filter: none !important;
    -webkit-filter: none !important;
    -moz-filter: none !important;
}


.slide-newspaper {
    padding: 10px 20px; 
    border-width: 1px;
    border-style: solid;
    border-image: 
    linear-gradient(to right, rgba(0, 0, 0, 0), rgba(1, 1, 1, 0.3),rgba(0, 0, 0, 0)) 100% 1;
}

.slide-element {
    padding: 40px;
    outline: none !important;
    border-left: none !important;
    border-width: 0.5px;
    border-style: solid;
    border-image: 
    linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0),  rgba(1, 1, 1, 0.4), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)) 1 100%;
}
@media only screen and (max-width: 768px) {

    .slide-newspaper {
        padding: 10px; 
        border-width: 1px;
        border-style: solid;
        border-image: 
        linear-gradient(to right, rgba(0, 0, 0, 0), rgba(1, 1, 1, 0.3),rgba(0, 0, 0, 0)) 100% 1;
    }

    .slide-element {
        padding: 10px 20px;
        outline: none !important;
        border-left: none !important;
        border-width: 0.2px;
        border-style: solid;
        border-image: 
        linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(1, 1, 1, 0.2), rgba(0, 0, 0, 0)) 1 100%;
    } 
}
/*
.slick-current {
    border: transparent;
}

[data-slick-index="-1"] {
    border: none !important;
}
*/
[data-slick-index="9"] {
    display: none !important;
}

/* Countdown 1 day */

.countdown {
  font-family: sans-serif;
  color: #fff;
  display: inline-block;
  font-weight: 100;
  text-align: center;
  font-size: 3.5rem;
}

.countdown-number {
  padding: 20px;
  border-radius: 0px;
  background: #333;
  display: inline-block;
  margin: 0 20px;
}

.countdown-time {
  padding: 5px;
  border-radius: 0px;
  background: #333;
  display: inline-block;
}

.countdown-text {
  display: block;
  padding-top: 0px;
  font-size: 1.5rem;
  margin-top: -15px;
}

@media screen and (max-width: 768px) {
    .countdown-number {
        padding: 10px;
        margin: 0px;
    }
    
}

/* Countdown 1 week */

#timer {
    font-size: 3.5em;
    font-weight: 100;
    color: white;
    text-shadow: 0 0 20px #48c8ff;
  }
  #timer div {
    display: inline-block;
    min-width: 120px;
  }
  #timer div span {
    color: #b1cdf1;
    display: block;
    font-size: 0.35em;
    font-weight: 400;
}

@media only screen and (max-width: 768px){
    #timer {
        font-size: 2.7em;
        font-weight: 100;
        color: white;
        text-shadow: 0 0 20px #48c8ff;
    }

    #timer div {
    display: inline-block;
    min-width: 80px;
    }
}

.countdown-timer {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f9f9f9; /* Light background */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    font-family: 'Arial', sans-serif; /* Use a clean font */
    margin: 20px 0; /* Margin to separate from other content */
}

.time-block {
    margin: 0 15px; /* Spacing between blocks */
    text-align: center; /* Center the text */
}

.time {
    display: block;
    font-size: 3rem; /* Large font size for time */
    font-weight: bold; /* Bold text */
    color: #3498db; /* Bright color for visibility */
    transition: color 0.3s; /* Smooth transition for color changes */
}

.label {
    font-size: 1.2rem; /* Smaller font size for labels */
    color: #777; /* Gray color for labels */
}

/* Hover effect */
.time-block:hover .time {
    color: #2980b9; /* Darker shade on hover */
}

/* Goolge Captcha badge */
.grecaptcha-badge {display: none;}


/* ── Chat Container ────────────────────────────────────────── */
.multi-chat-container {
    position: fixed;
    bottom: 47px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1000;
}

@media (max-width: 680px) {
    .multi-chat-container {
        right: 10px;
    }
}

/* ── Chat Icon ─────────────────────────────────────────────── */
.multi-chat-icon {
    position: relative;
    width: 60px;
    height: 60px;
    background-color: #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    z-index: 1000;
}

.multi-chat-icon img {
    width: 30px;
    height: 30px;
}

/* ── Floating CTA ──────────────────────────────────────────── */
.sgb-floating-cta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;     
    transition: transform 0.3s ease;
}

.sgb-floating-link {
    display: block;
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: visible;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* FIX: chỉ khai báo 1 lần, gộp cả transition */
.sgb-floating-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    position: relative;
    z-index: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sgb-floating-link:hover .sgb-floating-img {
    transform: scale(1.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

/* Pulse animation */
.sgb-floating-pulse {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgba(2, 23, 80, 0.4);
    animation: pulse-animation 1.5s infinite;
    z-index: 0;
}

/* ── Tooltip: đồng bộ cả 2 ────────────────────────────────── */
.sgb-floating-tooltip,
.multi-chat-tooltip {
    box-sizing: border-box;
    position: absolute;
    bottom: 68px;               /* phía trên icon 60px + 8px gap */
    right: 0;                   /* FIX: canh phải theo icon, không lệch */
    min-width: 90px;         /* chặn browser co lại */
    max-width: 90px;         /* chặn browser giãn ra */
    padding: 5px 8px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    font-size: 11px;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    border-radius: 5px;
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

/* FIX: mũi tên canh giữa chính xác bằng left: 50% cho cả 2 */
.sgb-floating-tooltip::after,
.multi-chat-tooltip::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px 5px 0 5px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
}

/* Show tooltip on hover */
.multi-chat-icon:hover + .multi-chat-tooltip {
    opacity: 1;
}

/* Chat Icon Pulse Effect */
.chat-pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgba(2, 23, 80, 0.4);
    animation: pulse-animation 1.5s infinite;
    z-index: -1;
}

@keyframes pulse-animation {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}
.multi-chat-icon img {
    width: 30px;
    height: 30px;
}

/* Chat Bubbles Container */
.chat-bubbles {
    position: fixed;
    bottom: 123px;
    right: 20px;
    display: none; /* Ẩn mặc định */
    flex-direction: column;
    gap: 15px;
    z-index: 999;
}

/* Chat Bubble Styles */
.chat-bubble {
    width: 60px;
    height: 60px;
    background-color: #fff; /* Màu nền trắng */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    cursor: pointer;
}

/* Hover Effects for Bubbles */
.chat-bubble:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

/* Zalo Chat Bubble */
.zalo-chat {
    background-color: #0084FF; /* Màu xanh đặc trưng của Zalo */
    border: 2px solid #fff;
}

/* WhatsApp Chat Bubble */
.whatsapp-chat {
    background-color: #25D366; /* Màu xanh của WhatsApp */
    border: 2px solid #fff;
}

/* Messenger Chat Bubble */
.messenger-chat {
    background-color: #333; /* Màu xanh của Messenger */
    border: 2px solid #fff;
}

/* Chat Bubble Icons */
.chat-bubble img {
    width: 35px;
    height: 35px;
    filter: none; /* Giữ màu sắc gốc của biểu tượng */
}

/* Zalo Widget Styling */
.zalo-chat-widget {
    display: none; /* Ẩn mặc định */
    position: fixed;
    bottom: 100px;
    right: 100px; /* Để không đè lên icon chính */
    z-index: 1001;
    width: 300px; /* Chiều rộng widget */
    height: 500px; /* Chiều cao widget */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Hiển thị khi Zalo active */
.zalo-chat.active .zalo-chat-widget {
    display: block;
}

/* Hiển thị các bubble khi click icon chính */
.chat-bubbles.show {
    display: flex;
}


/* Floating Instagram Icon */
.instagram-icon {
    position: fixed;
    bottom: 150px; /* Khoảng cách từ đáy */
    left: 20px; /* Căn trái màn hình */
    width: 50px;
    height: 50px;
    background-color: #E1306C; /* Màu nền Instagram */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    z-index: 1000;
    transition: transform 0.3s ease;
}

.instagram-icon:hover {
    transform: scale(1.1); /* Hiệu ứng hover: tăng kích thước */
}

.instagram-icon img {
    width: 28px;
    height: 28px;
}


/* ============================================================
   MOBILE UX IMPROVEMENTS — UX/UI best practices
   Based on: Apple HIG (44pt), Material Design (48dp touch targets),
   WCAG 2.1 AA, iOS Safari viewport quirks
   ============================================================ */

/* ── 1. FORM INPUTS: touch target & legibility ────────────────
   iOS Safari zooms in when font-size < 16px on input focus.
   min-height 48px meets Material Design touch target spec.
   ─────────────────────────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    min-height: 48px;       /* touch target: Material 48dp */
    font-size: 16px;        /* prevents iOS auto-zoom on focus */
    -webkit-text-size-adjust: 100%;
}

@media (max-width: 680px) {
    input[type="text"],
    input[type="email"] {
        min-height: 48px;
        font-size: 16px !important; /* override the 3.5vw that causes iOS zoom */
        height: auto;
    }
}

/* ── 2. ICON POSITIONING in inputWithIcon ────────────────────
   Old: top:30% — misaligns when input is taller.
   Fix: top:50% + translateY(-50%) = always vertically centred.
   ─────────────────────────────────────────────────────────── */
.inputWithIcon i {
    top: 50% !important;
    transform: translateY(-50%);
    transition: color .3s;
}

/* ── 3. NAVBAR: remove hacky negative margin-top ─────────────
   Negative % margin on a flex child is unreliable across sizes.
   Use flex align-items instead, controlled per breakpoint.
   ─────────────────────────────────────────────────────────── */
#navbar-top {
    display: flex;
    align-items: center;    /* vertically centres all children */
}

@media only screen and (max-width: 992px) {
    .navbar-toggler {
        margin-top: 0 !important; /* remove all negative margin hacks */
        align-self: center;
    }
}

/* ── 4. SCROLL-UP BUTTON: 44×44px minimum tap target ─────────
   Anything smaller than 44×44 fails Apple HIG touch target spec.
   ─────────────────────────────────────────────────────────── */
.scrollUpButton {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── 5. SAFE AREA INSETS — iPhone notch / Dynamic Island ─────
   Fixed elements (chat widget, scrollUpButton) must respect
   the device safe-area-inset so they don't hide under the
   home indicator or notch on modern iPhones.
   ─────────────────────────────────────────────────────────── */
.multi-chat-container {
    bottom: calc(47px + env(safe-area-inset-bottom));
}

.chat-bubbles {
    bottom: calc(123px + env(safe-area-inset-bottom));
}

footer .scrollUpButton {
    bottom: calc(10px + env(safe-area-inset-bottom));
}

/* ── 6. MAGAZINE GRID: 2-col on mobile (was 1-col via col-md-4)
   Bootstrap col-6 already applied in HTML; ensure images scale.
   ─────────────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .section-5 .col-6 p {
        font-size: 0.75rem;
        line-height: 1.3;
    }
    .section-5 .col-6 img {
        max-width: 80%;
    }
}

/* ── 7. RESULT SECTION HEADING: fluid responsive font-size ───
   h4 on desktop → scales down gracefully on mobile
   ─────────────────────────────────────────────────────────── */
.result-title {
    font-size: clamp(1rem, 3.5vw, 1.75rem);
}

/* ── 8. SECTION-5 PADDING: breathing room on mobile ─────────*/
@media (max-width: 768px) {
    .section-5 .container.p-0 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .section-5 {
        padding: 30px 0;
    }
}

/* ── 9. CHAT TOOLTIP: prevent right-edge overflow on phones ──*/
@media (max-width: 400px) {
    .multi-chat-tooltip {
        right: 0;
        width: 120px;
        font-size: 11px;
    }
}

/* ── 10. FORM BUTTON: consistent tap height ──────────────────*/
.register-bottom {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── 11. SECTION REGISTER: safe-area padding on mobile ───────*/
@media (max-width: 768px) {
    .section-register {
        padding-bottom: calc(5% + env(safe-area-inset-bottom));
    }
}

/* ── 12. VIEWPORT META FIX: body prevents double-tap zoom ────
   Supplement to the existing maximum-scale=1 meta tag.
   touch-action prevents unintended zooming on form taps.
   ─────────────────────────────────────────────────────────── */
body {
    touch-action: manipulation; /* disables double-tap-to-zoom on buttons/links */
}

/* ====================== HERO SUMMER GLOW BOOSTER ====================== */
.hero-summer {
    position: relative;
    height: 100vh;
    min-height: 650px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    color: #000;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60% center;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.15) 0%,
        rgba(0,0,0,0.35) 50%,
        rgba(0,0,0,0.45) 100%
    );
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0 20px;
}

.hero-content .subtitle {
    font-size: 1.35rem;
    font-weight: 300;
    letter-spacing: 1px;
    margin-bottom: 8px;
    
}

.hero-content .main-title {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0px;
    margin-bottom: 12px;
    
}

.hero-content .tagline {
    font-size: 1.35rem;
    font-weight: 400;
    opacity: 0.9;
    margin-bottom: 40px;
}

.btn-register {
    display: inline-block;
    background: #fff;
    color: #000;
    padding: 16px 48px;
    font-size: 1.15rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: none;
    border-radius: 0;
    transition: all 0.4s ease;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.btn-register:hover {
    background: #f8e5b8;
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.2);
}

/* Scroll Down */
.scroll-down {
    position: absolute;
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    text-align: center;
    color: #fff;
    opacity: 0.85;
}

.scroll-text {
    font-size: 0.85rem;
    letter-spacing: 3px;
    display: block;
    margin-bottom: 8px;
}

.scroll-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, transparent, #fff, transparent);
    margin: 0 auto;
    animation: scrollAnim 2s infinite;
}

@keyframes scrollAnim {
    0%   { height: 40px; }
    50%  { height: 70px; }
    100% { height: 40px; }
}

/* Responsive */
@media (max-width: 768px) {
    .hero-summer {
        min-height: 100svh;
    }
    
    .hero-content .subtitle {
        font-size: 1.2rem;
    }
    
    .hero-content .main-title {
        font-size: 2rem;
    }
    
    .hero-content .tagline {
        font-size: 1.25rem;
    }
    
    .btn-register {
        padding: 14px 36px;
        font-size: 1.05rem;
    }
}

/* ============================================================
   SUMMER GLOW BOOSTER – sgb-* component styles
   Appended to existing style.css – do not remove sections above
   ============================================================ */

/* ── Language Switcher ─────────────────────────────────────── */
.sgb-lang-switcher {
    display: flex;
    align-items: center;
    gap: 4px;
}
.sgb-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 4px;
    color: #fff;
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 4px 9px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    line-height: 1;
}
.sgb-lang-btn .img-flag {
    width: 18px;
    height: auto;
    border-radius: 2px;
    display: block;
}
.sgb-lang-btn:hover,
.sgb-lang-btn.active {
    background: rgba(255,255,255,0.18);
    border-color: rgba(255,255,255,0.7);
}
/* When navbar is scrolled (dark bg), adapt buttons */
#navbar-top.navbar-scrolled .sgb-lang-btn {
    border-color: rgba(0,0,0,0.25);
    color: #1a1a1a;
}
#navbar-top.navbar-scrolled .sgb-lang-btn:hover,
#navbar-top.navbar-scrolled .sgb-lang-btn.active {
    background: rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0.5);
}

/* ── Section shared ────────────────────────────────────────── */
.sgb-section-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.28;
    text-align: center;
    color: #1a1a1a;
    margin-bottom: 1rem;
}
.sgb-section-sub {
    text-align: center;
    font-size: 1rem;
    color: #333;
    max-width: 600px;
    margin: 0 auto 2.5rem;
    line-height: 1.7;
}

/* ── Benefit Section ───────────────────────────────────────── */
.sgb-benefit-section {
  padding: 60px 0 0;
}

.sgb-lead {
    font-size: 1.2rem;
    color: #333;
    line-height: 1.75;
    margin-bottom: 0.9rem;
    font-weight: 700;
}

.sgb-body {
    font-size: 1rem;
    color: #333;
    line-height: 1.7;
    max-width: 700px;
    margin: 0 auto 40px;
}

.sgb-benefit-intro {
  margin-bottom: 40px;
  padding: 0 16px;
}

.sgb-benefit-lead {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #1a1a1a;
}

/* Grid desktop: 2 cột, 2 hàng */
.sgb-benefit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0;
}

/* Text cell */
.sgb-benefit-cell--text {
  background-color: #f9f6f2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px 55px;
}

/* Image cell */
.sgb-benefit-cell--img {
  overflow: hidden;
  min-height: 380px;
}

.sgb-benefit-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Benefit list */
.sgb-benefit-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 370px;
}

.sgb-benefit-list li {
  font-size: 1.2rem;
  line-height: 1.65;
  color: #333;
  margin-bottom: 22px;
  padding-left: 0;
}

.sgb-benefit-list li:last-child {
  margin-bottom: 0;
}

/* ── Mobile: image trên, text dưới ─────────────────────────── */
@media (max-width: 767px) {
  .sgb-benefit-section {
    padding: 40px 0 0;
  }

  .sgb-benefit-grid {
    display: flex;
    flex-direction: column;
  }

  /* Pair 1: img-1 trên → text-1 dưới */
  .sgb-bcell-i1 { order: 1; }
  .sgb-bcell-t1 { order: 2; }

  /* Pair 2: img-2 trên → text-2 dưới */
  .sgb-bcell-i2 { order: 3; }
  .sgb-bcell-t2 { order: 4; }

  .sgb-benefit-cell--img {
    min-height: 260px;
  }

  .sgb-benefit-cell--text {
    padding: 32px 24px;
  }

  .sgb-benefit-list {
    max-width: 100%;
  }

  .sgb-benefit-list li {
    font-size: 15px;
    margin-bottom: 18px;
  }
}

/* ── Before / After ────────────────────────────────────────── */
.sgb-ba-section {
    padding: 60px 0 50px;
    background: #fff;
    overflow: hidden
}
.sgb-ba-section .sgb-section-title {
    font-size: 1.2rem;
    max-width: 780px;
    margin: 0 auto 2rem;
}
.sgb-ba-slider img {
    width: 100%;
    display: block;
}
.sgb-ba-disclaimer {
    font-size: 0.8rem;
    color: #888;
    text-align: center;
    margin-top: 1.2rem;
    font-style: italic;
}

/* ── Process Section ───────────────────────────────────────── */
.sgb-process-section {
    padding: 30px 0;
    background: #fff;
}
.sgb-process-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2rem;
    background-color: #eee;;
}
.sgb-process-img {
    flex: 0 0 48%;
    max-width: 48%;
}
.sgb-process-img img {
    width: 100%;
    display: block;
    border-radius: 0px;
}
.sgb-process-text {
    flex: 1;
    font-size: 0.97rem;
    color: #333;
    line-height: 1.75;
    padding: 0 40px;
}
.sgb-process-text p {
    margin-bottom: 0.9rem;
    font-size: 1rem;
}
.sgb-check-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
}
.sgb-check-list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 0.6rem;
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
}
.sgb-check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #1a1a1a;
    font-weight: 700;
}

/* ── Sessions Section ──────────────────────────────────────── */
.sgb-sessions-section {
    padding: 30px 0 60px;
    background: #fff;
}
.sgb-sessions-headline {
    font-size: 1.2rem;
    color: #333;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 1.5rem;
    line-height: 1.7;
    font-weight: 700;
}
.sgb-sessions-headline strong {
    font-weight: 700;
    color: #1a1a1a;
}
/* Session row: text 40% | image 60% */
.sgb-session-row {
    display: flex;
    align-items: center;   /* vertical center so text box floats with top/bottom gap */
    margin-bottom: 40px;
    gap: 0;
}
.sgb-session-row:last-child { margin-bottom: 0; }

/* Text box: 45% width, gray bg, vertical margin (not full image height) */
.sgb-session-text-box {
    flex: 0 0 40%;
    min-width: 45%;
    background: #f5f5f5;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;    
    margin-top: 30px;
    margin-bottom: 30px;
    border-radius: 2px;
}
/* Image box: 55% width */
.sgb-session-img-box {
    flex: 0 0 60%;
    max-width: 55%;
    overflow: hidden;
    border-radius: 2px;
}
.sgb-session-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Session flip: image LEFT, text RIGHT */
.sgb-session-flip {
    flex-direction: row;  /* image is first in DOM, text second */
}
.sgb-session-num {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #888;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.sgb-session-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
    color: #1a1a1a;
    margin-bottom: 30px;
    text-align-last: center
}
.sgb-session-list {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}
.sgb-session-list li {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
    padding-left: 18px;
    position: relative;
    margin-bottom: 7px;
}
.sgb-session-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #333;
}
.sgb-session-result {
    font-size: 1rem;
    color: #222;
    margin: 0;
    font-style: normal;
    font-weight: bold;
}
.sgb-session-result em {
    font-style: italic;
    color: #333;
}

/* ── Clinic Safe Section ───────────────────────────────────── */
.sgb-clinic-safe-section {
    background: #fff;
    padding: 0 0 40px;
}
.sgb-clinic-safe-inner {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 360px;
    border-radius: 2px;
    overflow: hidden;
    background-color: #f5f5f5;
}
.sgb-clinic-safe-img {
    flex: 0 0 50%;
    max-width: 55%;
    overflow: hidden;
    min-height: 360px;
}
.sgb-clinic-safe-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 360px;
}
.sgb-clinic-safe-text {
    flex: 1;
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    
}
.sgb-clinic-safe-text p {
    font-size: 1rem;
    color: #333;
    line-height: 1.8;
    margin-bottom: 0.9rem;
}
.sgb-clinic-safe-text p:last-child { margin-bottom: 0; }

/* ── Certifications Section ────────────────────────────────── */
.sgb-cert-section {
    padding: 30px 0;
    
}
.sgb-cert-lead {
    font-size: 1.2rem;
    color: #000;
    max-width: 500px;
    margin: 0 auto 2.5rem;
    line-height: 1.7;
    text-align: center;
    font-weight: 600;
}
.sgb-cert-grid {
    display: flex;
    justify-content: center;
    gap: 100px;
    flex-wrap: wrap;
}
.sgb-cert-item {
    text-align: center;
    max-width: 300px;
}
.sgb-cert-badge {
    max-width: 200px;
    
}
.sgb-cert-item h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 8px;
    margin-top: 20px;
    letter-spacing: 0.03em;
}
.sgb-cert-item p {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
    margin: 0;
}

/* ── Customer Video Slider ─────────────────────────────────── */
.sgb-cv-section {
  padding: 30px 0;
}

.sgb-cv-slider {
  margin: 0 -10px; /* bù padding các slide */
}

/* Mỗi slide wrapper — thu nhỏ mặc định */
.sgb-cv-slide {
  padding: 0 10px;
  transform: scale(0.85);
  opacity: 0.9;
  transition: transform 0.35s ease, opacity 0.35s ease;
  outline: none;
}

/* Slide center — phóng to, rõ nét */
.sgb-cv-slide.slick-center{
  transform: scale(1);
  opacity: 1;
}

.sgb-cv-slide.slick-center .sgb-cv-caption {
  opacity: 1;
}

/* Thumbnail */
.sgb-cv-slide .sgb-video-thumb-wrap {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  display: block;
}

.sgb-cv-slide .sgb-video-thumb {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Caption bên dưới thumbnail */
.sgb-cv-caption {
  padding-top: 14px;
  text-align: center;
}

.sgb-cv-name {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 4px;
}

.sgb-cv-sub {
  font-size: 0.9rem;
  color: #555;
  margin: 0;
  font-style: italic;
}

/* Ẩn caption ở slide không phải center */
.sgb-cv-slide .sgb-cv-caption {
  opacity: 1;
  transition: opacity 0.35s ease;
}

.slick-center .sgb-cv-slide .sgb-cv-caption {
  opacity: 1;
}

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .sgb-cv-slide {
    transform: scale(1);
    opacity: 1;
  }

  .sgb-cv-slide .sgb-cv-caption {
    opacity: 1;
  }

  .sgb-cv-section {
    padding: 40px 0;
  }
}

.sgb-cv-section .sgb-video-thumb-wrap {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.sgb-cv-section h4 {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1a1a1a;
    margin-bottom: 30px;
}
.sgb-video-thumb-wrap {
    position: relative;
    display: block;
    cursor: pointer;
    width: 100%;
    margin: 0 auto;
    border-radius: 0px;
    overflow: hidden;
    line-height: 0;
}
.sgb-video-thumb {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}
.sgb-video-thumb-wrap:hover .sgb-video-thumb {
    transform: scale(1.02);
}
.sgb-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    
    transition: background 0.3s;
}
.sgb-video-thumb-wrap:hover .sgb-play-overlay {
    background: rgba(0,0,0,0.22);
}
.sgb-play-btn {
    width: 64px;
    height: 64px;
    background: rgba(255,255,255,0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.sgb-play-btn img {
    width: 64px;
    height: auto;
    
    display: block;
}
.sgb-video-thumb-wrap:hover .sgb-play-btn {
    transform: scale(1.05);
    box-shadow: 0 6px 28px rgba(0,0,0,0.3);
}
.sgb-play-btn.sgb-play-lg {
    width: 80px;
    height: 80px;
}
.sgb-play-btn.sgb-play-lg img {
    width: 36px;
}

/* ═══════════════════════════════════════════════════════════
   PRICING / CTA SECTION
   ═══════════════════════════════════════════════════════════ */

.sgb-pricing-section {
    padding: 30px 0;          /* căn đều với các section khác */
}

/* Background image nằm trong .container — khớp width với các section khác */
.sgb-pricing-container {
    position: relative;
    background-image: url('../img/pricing-section.jpg');
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
    min-height: 520px;
    overflow: hidden;         /* clip box nếu vượt ra ngoài */
}

/* White info box — absolute, bên phải container */
.sgb-pricing-box {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    max-width: 450px;
    padding: 44px 40px;
    background: rgba(255, 255, 255, 0.53);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.sgb-pricing-logo {
    width: 120px;
    margin-bottom: 30px;
    display: block;
}

.sgb-pricing-sub {
    font-size: 1rem;
    letter-spacing: 0.06em;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.5;
}

.sgb-pricing-price {
    font-size: 2.2rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: 0.01em;
    margin-bottom: 20px;
    line-height: 1.2;
}
.sgb-pricing-price sup {
    font-size: 0.95rem;
    vertical-align: super;
    font-weight: 400;
}

.sgb-pricing-note {
    font-size: 1rem;
    color: #333;
    font-style: italic;
    line-height: 1.2;
    font-weight: 500;
    text-align: center;
    
    margin-bottom: 30px;
}

.sgb-pricing-original {
    font-size: 2.1rem;
    font-weight: 400;
    color: #333;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
    letter-spacing: 0.01em;
    margin-bottom: 10px;
    line-height: 1.3;
}

.sgb-pricing-title {
    font-size: 1.6rem;
    font-weight: 500;
    color: #111;
    letter-spacing: 0.01em;
    margin-bottom: 20px;
    line-height: 1.3;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE (≤ 768px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

    .sgb-pricing-section {
        padding: 0 0 30px;
    }

    .sgb-pricing-container {
        background-image: url('../img/pricing-section-mobile.jpg');
        background-position: center top;
        min-height: 100vh;
    }

    .sgb-pricing-box {
        position: absolute;
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
        transform: none;
        width: auto;
        margin: 0 16px 20px;
        padding: 30px 24px;
        background: rgba(255, 255, 255, 0.55);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    .sgb-pricing-logo { width: 120px; margin-bottom: 20px; }
    .sgb-pricing-price { font-size: 1.9rem; margin-bottom: 20px; }
    .sgb-pricing-sub { font-size: 0.82rem; }
    .sgb-pricing-note { font-size: 0.74rem; }

    .sgb-pricing-original {
        font-size: 1.8rem;
    }
    .sgb-pricing-title {
        font-size: 1.8rem;
    }
}


@media (max-width: 480px) {
    .sgb-pricing-container { min-height: 100vh; }
    .sgb-pricing-box { margin: 0 12px 16px; padding: 26px 18px; bottom: 4%;}
    .sgb-pricing-price { font-size: 1.7rem; }
    .sgb-pricing-original {
        font-size: 1.7rem;
    }
    .sgb-pricing-title {
        font-size: 1.7rem;
    }
}

/* ── Brand Video Section ───────────────────────────────────── */
.sgb-brand-video-section {
    background: #fff;
    padding: 60px 0;
}
.sgb-brand-video-wrap {
    position: relative;
    width: 100%;
    cursor: pointer;
    overflow: hidden;
    border-radius: 4px;
    line-height: 0;
}
.sgb-brand-thumb {
    width: 100%;
    height: auto;
    display: block;
    opacity: 0.6;
    transition: opacity 0.4s;
    object-fit: cover;
    max-height: 460px;
}
.sgb-brand-video-wrap:hover .sgb-brand-thumb {
    opacity: 0.5;
}
.sgb-brand-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8%;
    background: rgba(0,0,0,0.35);
    border-radius: 4px;
}
.sgb-brand-text {
    color: #fff;
    line-height: 1.5;
}
.sgb-brand-name {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
}
.sgb-brand-text p {
    font-size: 1rem;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
    color: rgba(255,255,255,0.9);
}
.sgb-brand-watermark {
    font-size: 0.8rem !important;
    letter-spacing: 0.2em !important;
    opacity: 0.7;
    margin-top: 10px !important;
}
.sgb-brand-about {
    padding: 40px 0 0;
}
.sgb-brand-about h4 {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #1a1a1a;
    margin-bottom: 18px;
    line-height: 1.45;
}
.sgb-brand-about h4 strong {
    font-weight: 700;
    color: #1a1a1a;
}
.sgb-brand-about p {
    font-size: 1rem;
    color: #333;
    line-height: 1.5;
    text-align-last: center;
    text-align: justify;
    margin: 0 auto;
}

/* ── Gallery Section ───────────────────────────────────────── */
.sgb-gallery-section {
    background: #fff;
    padding: 0 0 30px;
    overflow: hidden;
}
.sgb-gallery-slider img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}


/* ── Sponsorship Section ───────────────────────────────────── */
.sgb-sponsor-section {
  padding: 30px 0;
}

.sgb-sponsor-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1a1a1a;
    margin-bottom: 40px;
}

.sgb-sponsor-sub {
  font-size: 0.95rem;
  color: #b8962e;
  margin-bottom: 32px;
}

.sgb-sponsor-slider {
  margin: 0 -10px;
}

/* Slide mặc định: thu nhỏ */
.sgb-sponsor-slide {
  padding: 0 10px;
  transform: scale(0.85);
  opacity: 0.8;
  transition: transform 0.35s ease, opacity 0.35s ease;
  outline: none;
}

/* Slide center: phóng to, rõ nét */
.sgb-sponsor-slide.slick-center {
  transform: scale(1.1);
  opacity: 1;
}

.sgb-sponsor-slide img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 2px;
}

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .sgb-sponsor-section {
    padding: 40px 0;
  }

  .sgb-sponsor-slide {
    transform: scale(1);
    opacity: 1;
  }
}

/* ── FAQ Section ───────────────────────────────────────────── */
.sgb-faq-section {
    padding: 70px 0 60px;
    background: #fff;
    background-image: url(../img/logo-pp.png);
    background-position: right 15% center;
    background-repeat: no-repeat;
    background-size: 40%;
    background-color: #f7f8f6;
}
.sgb-faq-section h4 {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1a1a1a;
}
.sgb-faq-list {
    max-width: 780px;
    margin: 0 auto;
}
.sgb-faq-item {
    border-bottom: 1px solid #e0ddd9;
}
.sgb-faq-item:first-child {
    border-top: 1px solid #e0ddd9;
}
.sgb-faq-q {
    width: 100%;
    background: transparent;
    border: none;
    padding: 16px 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    text-align: left;
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 0.96rem;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.02em;
    line-height: 1.4;
    transition: color 0.2s;
}
.sgb-faq-q:hover { color: #444; }

/* Custom icon: black circle with white checkmark */
.sgb-faq-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.sgb-faq-icon svg {
    width: 14px;
    height: 14px;
    display: block;
    transition: transform 0.3s ease;
}

/* Mặc định KHÔNG có outline */
.sgb-faq-q {
    outline: none;
}

/* Khi focus (click vào) cũng không có */
.sgb-faq-q:focus,
.sgb-faq-q:active {
    outline: none;
}

/* Khi open (phòng trường hợp bị override) */
.sgb-faq-item.open .sgb-faq-q {
    outline: none;
}

/* Open state: show X */
.sgb-faq-item.open .sgb-faq-icon svg polyline {
    animation: none;
}
.sgb-faq-item.open .sgb-faq-icon::after {
    content: '';
}
/* Replace checkmark SVG with X when open via JS class */
.sgb-faq-item.open .sgb-faq-icon {
    background: #1a1a1a;
}

.sgb-faq-a {
    display: none;
    padding: 0 4px 18px;
}
.sgb-faq-item.open .sgb-faq-a {
    display: block;
}
.sgb-faq-a p {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.75;
    margin: 0;
}

/* ── Celebrities Section ────────────────────────────────── */
.sgb-celebrities-section {
    padding: 30px 0;
}
.sgb-celebrities-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    margin-bottom: 10px;
    line-height: 1.3;
}

/* ── Testimonials Section ────────────────────────────────── */
.sgb-testimonials-section {
    padding: 30px 0;
}
.sgb-testimonials-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    margin-bottom: 20px;
    line-height: 1.3;
}

/* ── Training Video Section ────────────────────────────────── */
.sgb-training-section {
    padding: 30px 0;
}
.sgb-training-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    margin-bottom: 10px;
    line-height: 1.3;
}
.sgb-training-sub {
    font-size: 1rem;
    color: #333;
    margin-bottom: 28px;
    line-height: 1.7;
}
.sgb-training-caption {
    position: absolute;
    bottom: 24px;
    right: 24px;
    background: rgba(0,0,0,0.72);
    padding: 10px 16px;
    border-radius: 3px;
    text-align: left;
    pointer-events: none;
}
.sgb-training-doctor {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 2px;
    letter-spacing: 0.03em;
}
.sgb-training-role {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.8);
    margin: 0;
}

/* ── Press Section ────────────────────────────────────────── */

.sgb-press-section {
    padding: 30px 0 30px;
    background: #fff;
}

.sgb-press-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1a1a1a;
    margin-bottom: 40px;
}

.sgb-press-section p {
    font-size: 0.8rem;
}

/* Desktop (≥769px): border trái + phải cho child 2 và child 5 (cột giữa) */
@media screen and (min-width: 769px) {
    .sgb-press-row .col-md-4:nth-child(2),
    .sgb-press-row .col-md-4:nth-child(5) {
        border-width: 0 0.5px;   /* chỉ left và right, top/bottom = 0 */
        border-style: solid;
        border-image: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0),
            rgba(29, 29, 29, 1),
            rgba(0, 0, 0, 0)
        ) 1;
    }
    .sgb-press-row {
        row-gap: 40px;
    }
}

/* Mobile (≤768px): 2 col × 3 row, không border */
@media screen and (max-width: 768px) {
    .sgb-press-row .col-6 {
        border: none !important;
    }
}

/* sgb-video-thumb-wrap is already styled; training section uses same class */

/* ── Awards Section ────────────────────────────────────────── */
.sgb-awards-section {
    padding: 30px 0 70px;
    background: #fff;
}
.sgb-awards-title {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1a1a1a;
    margin-bottom: 40px;
}
.sgb-awards-grid {
    display: flex;
    justify-content: center;
    gap: 120px;
    flex-wrap: wrap;
    align-items: flex-start;
}
.sgb-award-item {
    text-align: center;
    max-width: 300px;
}
.sgb-award-trophy {
    width: 180px;
    
    margin: 0 auto 16px;
}
.sgb-award-trophy img {
    width: 100%;
    height: 100%;
}
.sgb-award-item h5 {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #1a1a1a;
    line-height: 1.4;
    margin-bottom: 0px;
    text-transform: uppercase;
}
.sgb-award-item p {
    font-size: 0.9rem;
    color: #555;
    margin: 0;
}

/* ── Contact Section (Centered) ────────────────────────────── */
.sgb-contact-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
}
.sgb-contact-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.sgb-contact-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    display: block;
}
.sgb-contact-inner {
    position: relative;
    z-index: 1;
    max-width: 520px;
    margin: 0 auto;
    text-align: left;
}
.sgb-contact-inner h4 {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #555;
    margin-bottom: 6px;
}
.sgb-contact-phone {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 18px;
}
.sgb-contact-phone a {
    color: #1a1a1a;
    text-decoration: none;
}
.sgb-contact-divider {
    border-color: #ccc;
    margin: 0 0 18px;
}
.sgb-contact-cta {
    font-family: 'Gotham', 'Arial', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 28px;
    letter-spacing: 0.04em;
}
.sgb-contact-form .inputWithIcon {
    margin-bottom: 0;
}
.sgb-form-note {
    font-size: 0.8rem;
    color: #888;
    margin-top: 12px !important;
}

/* ── Footer ────────────────────────────────────────────────── */
.sgb-footer {
    position: relative;
    padding: 80px 0 60px;
    background-image: url('../img/foo-bg-ppp.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* Overlay */
.sgb-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 0;
}

/* Content luôn nằm trên overlay */
.sgb-footer > * {
    position: relative;
    z-index: 1;
}

.sgb-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    margin-bottom: 28px;
}
.sgb-footer-links a {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: color 0.2s;
    white-space: nowrap;
}
.sgb-footer-links a:hover { color: #fff; }
.sgb-footer-hr {
    border-color: rgba(255,255,255,0.12);
    margin: 0 0 24px;
}
.sgb-footer-company {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.7);
    text-align: center;
    margin-bottom: 6px;
    letter-spacing: 0.02em;
}
.sgb-footer-mst {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.45);
    text-align: center;
    margin-bottom: 24px;
    line-height: 1.6;
}
.sgb-footer-badge {
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}
.sgb-bct-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 150px;
}

.sgb-bct-badge img {
    width: 150px;
}

.sgb-bct-badge span:first-child {
    font-size: 0.7rem;
    font-weight: 700;
    color: rgba(255,255,255,0.7);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
}
.sgb-bct-sub {
    font-size: 0.62rem;
    color: rgba(255,255,255,0.45);
    letter-spacing: 0.04em;
    margin-top: 3px;
}
.sgb-footer-copy {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.4);
    text-align: center;
    margin: 0;
}
.sgb-footer .scrollUpButton {
    position: absolute;
    top: -18px;
    right: 30px;
    background: #1a1a1a;
    color: #fff;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    text-decoration: none;
    font-size: 1rem;
    border: 1px solid rgba(255,255,255,0.2);
    transition: background 0.2s;
}
.sgb-footer .scrollUpButton:hover { background: #333; }

/* ── YouTube Video Modal ───────────────────────────────────── */
.sgb-video-modal,
#sgb-video-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.sgb-video-modal.active,
#sgb-video-modal.active {
    display: flex;
}
.sgb-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.88);
    cursor: pointer;
}
.sgb-modal-content {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 900px;
}
.sgb-modal-inner {
    position: relative;
    width: 90%;
    max-width: 900px;
}
.sgb-modal-close {
    position: absolute;
    top: -38px;
    right: 0;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
    padding: 4px;
    z-index: 2;
}
.sgb-modal-close:hover { opacity: 1; }
.sgb-iframe-wrap,
.sgb-modal-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 4px;
    background: #000;
}
.sgb-iframe-wrap iframe,
.sgb-modal-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* ============================================================
   RESPONSIVE – Summer Glow Booster
   ============================================================ */

/* Laptop (max 1200px) */
@media (max-width: 1200px) {
    /* Text box: 45% width, gray bg, vertical margin (not full image height) */
    .sgb-session-text-box {
        padding: 100px 32px;
    }
}

/* Tablet (max 991px) */
@media (max-width: 991px) {

    .sgb-session-text-box {
        padding: 35px 32px;
    }

    .sgb-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 20px;
    }
    .sgb-process-row {
        flex-direction: column;
        gap: 30px;
    }
    .sgb-process-img,
    .sgb-process-text {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .sgb-clinic-safe-inner {
        flex-direction: column;
        min-height: auto;
    }
    .sgb-clinic-safe-img,
    .sgb-clinic-safe-text {
        flex: 0 0 100%;
        max-width: 100%;
        min-height: auto;
    }
    .sgb-clinic-safe-img img { min-height: auto; }
    .sgb-clinic-safe-text { padding: 36px 28px; }
    .sgb-pricing-inner {
        flex-direction: column;
    }
    .sgb-pricing-img,
    .sgb-pricing-box {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .sgb-pricing-box {
        padding: 40px 32px;
        align-items: center;
        text-align: center;
    }
    .sgb-brand-overlay {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 30px 20px;
        text-align: center;
    }
    .sgb-brand-name { font-size: 1.3rem; }
    .sgb-gallery-slider img { height: 300px; }
    .sgb-awards-grid { gap: 32px; }
}

/* ── Sessions Mobile: text on top, image below (all 3 sessions) */
@media (max-width: 767px) {
    
    /* All session rows stack: text-box first, image-box second */
    .sgb-session-row,
    .sgb-session-row.sgb-session-flip {
        flex-direction: column !important;
    }
    /* Always show text box first on mobile */
    .sgb-session-row .sgb-session-text-box,
    .sgb-session-row.sgb-session-flip .sgb-session-text-box {
        order: 2;
        flex: 0 0 100%;
        max-width: 100%;
        margin: 0 0 0;
        border-radius: 0;
        background-color: #fff;
    }
    .sgb-session-row .sgb-session-img-box,
    .sgb-session-row.sgb-session-flip .sgb-session-img-box {
        order: 1;
        flex: 0 0 100%;
        max-width: 100%;
        min-height: 240px;
    }
    .sgb-session-img-box img { min-height: 240px; object-fit: cover; }

    .sgb-lang-btn span { display: none; }
    .sgb-lang-btn { padding: 4px 7px; }

    .sgb-section-title { font-size: 1.15rem; }

    .sgb-benefit-section { padding: 50px 0 40px; }
    .sgb-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }
    .sgb-benefit-item p { font-size: 0.82rem; max-width: none; }

    .sgb-ba-section { padding: 30px 0; }
    .sgb-process-section { padding: 30px 0; }

    .sgb-sessions-section { padding: 30px 0 30px; }
    .sgb-sessions-headline { font-size: 1rem; margin-bottom: 2rem; font-weight: 700;}
    .sgb-session-text-box { padding: 26px 22px; }
    .sgb-session-title { font-size: 1.25rem; }
    .sgb-session-list li { font-size: 1rem; }

    .sgb-cert-section { padding: 30px 0; }
    .sgb-cert-grid { gap: 28px; }

    .sgb-training-section { padding: 30px 0; }
    .sgb-training-caption { bottom: 14px; right: 14px; padding: 8px 12px; }

    .sgb-cv-section { padding: 30px 0; }
    .sgb-play-btn { width: 50px; height: 50px; }
    .sgb-play-btn img { width: 50px; }
    .sgb-play-btn.sgb-play-lg { width: 60px; height: 60px; }
    .sgb-play-btn.sgb-play-lg img { width: 26px; }

    .sgb-awards-section { padding: 20px 0 20px; }
    .sgb-awards-grid { gap: 24px 20px; }
    .sgb-award-trophy { width: 90px;  }

    .sgb-award-item:nth-child(1) {
        margin-right: auto; /* lệch trái */
    }

    .sgb-award-item:nth-child(2) {
        margin-left: auto;  /* lệch phải */
        margin-top: -70px;
    }

    .sgb-award-item:nth-child(3) {
        margin-right: auto; /* lại lệch trái */
        margin-top: -70px;
    }

    .sgb-pricing-section { padding: 36px 0; }
    .sgb-pricing-box { padding: 32px 20px; }
    .sgb-pricing-price { font-size: 1.7rem; }

    .sgb-brand-video-section { padding: 40px 0; }
    .sgb-brand-name { font-size: 1.1rem; }
    .sgb-brand-text p { font-size: 0.85rem; }
    .sgb-brand-about { padding: 30px 0 0; }

    .sgb-brand-about h4 { font-size: 1rem; font-weight: 700;}
    .sgb-brand-about p {font-size: 0.9rem;}

    .sgb-gallery-section { padding: 36px 0; }
    .sgb-gallery-slider img { height: 240px; }

    .sgb-contact-section { padding: 60px 0; }
    .sgb-contact-phone { font-size: 1.8rem; }
    .sgb-contact-cta { font-size: 1.2rem; }

    .sgb-faq-section { padding: 50px 0 40px; }
    .sgb-faq-q { font-size: 0.88rem; padding: 14px 4px; }
    .sgb-faq-icon { width: 24px; height: 24px; min-width: 24px; }
    .sgb-faq-icon svg { width: 12px; height: 12px; }

    .sgb-faq-list {
        display: none;
    }

    .sgb-faq-section.open .sgb-faq-list {
        display: block;
    }

    /* thêm cursor cho dễ hiểu là clickable */
    .sgb-faq-section h4 {
        cursor: pointer;
        position: relative;
    }

    .sgb-faq-section h4::after {
        content: "▼";
        font-size: 1rem;
        margin-left: 8px;
        display: inline-block;
        transition: transform 0.3s ease;
    }

    /* Khi mở → xoay mũi tên */
    .sgb-faq-section.open h4::after {
        transform: rotate(180deg);
    }

    .faq-toggle {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .sgb-faq-section.open .arrow {
        transform: rotate(180deg);
    }

    .arrow {
        transition: 0.3s;
    }

    .sgb-faq-list {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
    }

    .sgb-faq-section.open .sgb-faq-list {
        max-height: 2000px; /* đủ lớn */
    }

    .sgb-footer-links { gap: 6px 14px; }
    .sgb-footer-links a { font-size: 0.72rem; }

    .sgb-modal-content { width: 95%; }
    .sgb-modal-close { top: -36px; font-size: 1.7rem; }
}

/* Small mobile (max 480px) */
@media (max-width: 480px) {

    .hero-content .tagline {
        font-size: 1.25rem;
        max-width: 300px;
        margin: auto;
    }

    .sgb-benefits-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px 12px;
    }
    .sgb-benefit-icon { width: 46px; height: 46px; }
    .sgb-cert-grid { flex-direction: row; align-items: flex-start; gap: 15px; flex-wrap: nowrap ;}
    .sgb-cert-item {
        flex: 0 0 50%;
    }
    .sgb-cert-item h4 {
        font-size: 0.8rem;
    }

    .sgb-cert-item p {
        font-size: 0.75rem;
    }
    .sgb-cert-badge {max-width: 120px;}
    .sgb-awards-grid { flex-direction: column; align-items: center; }
    
    .sgb-footer-links { flex-direction: column; align-items: center; gap: 8px; }
}

/* ── Before / After Labels ─────────────────────────────────── */
.sgb-ba-labels {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: nowrap;
}
.sgb-ba-label {
    flex: 1 1 45%;
    font-size: 0.92rem;
    font-style: italic;
    color: #555;
    padding: 10px 16px;
    border-radius: 6px;
    margin: 0;
    line-height: 1.5;
}
.sgb-ba-label--before {
    background: #fef3f3;
    border-left: 3px solid #c0392b;
    color: #8b2222;
}
.sgb-ba-label--after {
    background: #f3faf4;
    border-left: 3px solid #27ae60;
    color: #1e6b3a;
}
@media (max-width: 600px) {
    .sgb-ba-label {
        font-size: 0.85rem;
        padding: 8px 10px;
        letter-spacing: -1;
    }
}
