*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
body{
    position: relative;
    font-family: Arial, sans-serif;
}
.element, .heartRain{
    position: absolute;
    pointer-events: none;
    transition: 1s;
}
.hidden-file-input {
    display: none;
}
.file-info {
    margin-top: 10px;
    display: none;
}
.file-info span {
    margin-left: 10px;
    cursor: pointer;
    color: red;
}
.input-eror{
    border: 1px red solid;
}
.gap-02{
    gap: 2%;
}
p{
    font-size: 14px;
}

/* color text */
:root{
    --color_0: 255, 255, 255;
    --color_1: 255, 255, 252; /* #fffffc theme white */
    --color_2: 0, 0, 0;
    --color_3: 237, 28, 36;
    --color_4: 0, 136, 203;
    --color_5: 255, 203, 5;
    --color_6: 114, 114, 114;
    --color_7: 176, 176, 176;
    --color_8: 255, 255, 255;
    --color_9: 114, 114, 114;
    --color_10: 176, 176, 176;
    --color_11: 255, 255, 255;
    --color_12: 232, 230, 230;
    --color_13: 199, 199, 199;
    --color_14: 89, 89, 89;
    --color_15: 0, 0, 0;
    --color_16: 239, 170, 170;
    --color_17: 224, 126, 126;
    --color_18: 143, 0, 0; /* #8F0000 theme red */
    --color_19: 139, 17, 18;
    --color_20: 69, 9, 9;
    --color_21: 8, 80, 162; /* #0850A2 theme blue */
    --color_33: 0, 112, 192;
    
    --white: 255, 255, 255;
    --black: 0, 0, 0;
    --red: 237, 28, 36;
    --blue: 0, 136, 203;
    --yellow: 255, 203, 5;
    --gray-dark: 114, 114, 114;
    --gray-light: 176, 176, 176;
    --lighter-gray: 232, 230, 230;
    --light-gray: 199, 199, 199;
    --dark-gray: 89, 89, 89;
    --pink: 239, 170, 170;;
    --salmon: 224, 126, 126;
    --crimson: 208, 26, 27;
    --maroon: 139, 17, 18;;
    --dark-maroon: 69, 9, 9;
    --sky-blue: 180, 227, 249;
    --light-blue: 143, 211, 243;
    --azure: 41, 174, 237;
    --navy-blue: 27, 116, 158;
    --dark-blue: 14, 58, 79;

    --font_0: normal normal normal 70px/1.4em 'Poppins', sans-serif;
    --font_1: normal normal normal 16px/1.4em 'DIN Next', sans-serif;
    --font_2: normal normal normal 40px/1.4em 'Poppins', sans-serif;
    --font_3: normal normal normal 14px/1.4em 'Poppins', sans-serif;
    --font_4: normal normal normal 35px/1.4em 'Product Sans', sans-serif;
    --font_5: normal normal normal 27px/1.4em 'Product Sans', sans-serif;
    --font_6: normal normal normal 20px/1.4em 'Poppins', sans-serif;
    --font_7: normal normal normal 14px/1.4em 'Poppins', sans-serif;
    --font_8: normal normal normal 14px/1.4em 'Poppins', sans-serif;
    --font_9: normal normal normal 12px/1.4em 'Poppins', sans-serif;
    --font_10: normal normal normal 12px/1.4em 'DIN Next', sans-serif;

    --gradient-shadow: linear-gradient(
		45deg,
		#fcc3e4,
		#ff0000
	);
}
.color_0 {
    color: rgb(var(--color_0));
}
.color_1 {
    color: rgb(var(--color_1));
}
.color_2 {
    color: rgb(var(--color_2));
}
.color_3 {
    color: rgb(var(--color_3));
}
.color_4 {
    color: rgb(var(--color_4));
}
.color_5 {
    color: rgb(var(--color_5));
}
.color_6 {
    color: rgb(var(--color_6));
}
.color_7 {
    color: rgb(var(--color_7));
}
.color_8 {
    color: rgb(var(--color_8));
}
.color_9 {
    color: rgb(var(--color_9));
}
.color_10 {
    color: rgb(var(--color_10));
}
.color_11 {
    color: rgb(var(--color_11));
}
.color_12 {
    color: rgb(var(--color_12));
}
.color_13 {
    color: rgb(var(--color_13));
}
.color_14 {
    color: rgb(var(--color_14));
}
.color_15 {
    color: rgb(var(--color_15));
}
.color_16 {
    color: rgb(var(--color_16));
}
.color_17 {
    color: rgb(var(--color_17));
}
.color_18 {
    color: #8F0000;
}
.color_19 {
    color: rgb(var(--color_19));
}
.color_20 {
    color: rgb(var(--color_20));
}
.color_33 {
    color: rgb(var(--color_33)) !important;
}
/* MÀU MÀU MÀU COLOR */
.color_xdt{
    color: #8821C0 !important;
}
.color_white {
    color: #FFFFFC !important;
}
.color_black {
    color: black !important;
}

.color_red {
    color: #d72631 !important;
}

.color_blue {
    color: blue !important;
}

.color_yellow {
    color: yellow !important;
}


/* font */
.font_0 {
    font: var(--font_0);
    color: rgb(var(--color_15));
    letter-spacing: 0em;
}
.font_6 {
    font: var(--font_6);
    color: rgb(var(--color_15));
    letter-spacing: 0em;
}
.font_7 {
    font: var(--font_7);
    color: rgb(var(--color_15));
    letter-spacing: 0em;
}
.font_8 {
    font: var(--font_8);
    color: rgb(var(--color_15));
    letter-spacing: 0em;
}

.bg_action{
    background: #A30000 !important;
}
.bg_end{
    background: rgba(138, 137, 137, 0.681) !important;
}
.bg-white{
    background: #FFFFFC;
}


/* navbar */
#navbar{
    position: fixed;
    width: 100%;
    z-index: 100;
    top: 0;
    /* bottom: 0; */
    right: 0;
    left: 0;
}
.navbar_content{
    margin: 22px 50px;
    background: #FFFFFC ;

}
.active::before{
    display: none;
}
.container-fluid .logo-container {
    display: flex;
    justify-content: space-around;
    margin: 0 .2rem 0 0;
    /* flex-wrap: wrap; */
}

.container-fluid .logo-container img {
    padding: 6px;
    max-width: 100%; 
    height: auto;    
    min-width: 82px; 
    filter: drop-shadow(1px 1px 20px white);
}
.img_logo_nav{
    max-width: 10vh;
}
.nav-item .nav-link{
    color: #8F0000;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    font-family: poppins-semibold, poppins, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0em;
    text-align: center;
}
.navbar_content {
    background: #FFFFFC !important;
    border-radius: 10px;
    transition: background 0.3s ease;
    box-shadow: 5px 5px 0px 3px #8F0000;
}
#navbarSupportedContent{
    padding: 20px 10px;
}
.list_nav{
    width: 100%;
    display: flex;
    justify-content: space-evenly;

}
.nav-item:hover{
    /* transform: scale(1.2); */
    opacity: 0.5;
    /* transition: 0.2s ease; */
}
.dropdown-menu{
}
.dropdown-menu.show{
    background-color: #8F0000;
    opacity: 100%;
    border: solid 1px #FFFFFC;
}
.dropdown-menu *{
    color: #FFFFFC;
    width: 100%;
}
.nav-item.dropdown:hover{
    opacity: 100% !important;
}
.dropdown-menu li{
    padding: 0;
    min-height: 40px;
}
.language{
    display: flex;
    justify-content: center;
    align-items: center;
    /* gap: 10px; */;

}

.language .btn:focus {
    outline: none; /* Loại bỏ outline khi focus */
    border: none;
}

.language .btn:active {
    outline: none; /* Loại bỏ outline khi active */
    border: none; /* Loại bỏ đường viền khi nhấn */
}

/* footer */
.footer-container {
    margin: 0 auto;
    position: relative;
    height: 50vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.overlay-image-f {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1; 
    width: 100%;
    height: auto;
    transform: translateY(-2px);
  }
.footer {
    background-color: white;
    padding: 2rem 0 0 0;
}
.footer-image {
    width: 100%;
    height: auto;
    z-index: 0;
}

.copyright-line {
    background-color: #333;
    color: #fff;
    padding: 0.5rem 0;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 100%;
    width: 100%;
}
.copyright-line p {
    margin: 0;
    line-height: 1;
}

/* padding margin */
.pd-r{
    padding-right: 0 !important;
}
.pd-20{
    padding: 20px;
}
.pd-28{
    padding: 28px;
}
.pd-r-70{
    padding-right: 70px;
}
.pd-lr-6r{
    padding: 0 6rem;
}
.pd-t-b-10{
    padding: 10px 0;
}
.pd-t-lr-1{
    padding: 1rem 1rem 0;
}
.pd-lr-ctn{
    padding-right: calc(var(--bs-gutter-x)* .5);
    padding-left: calc(var(--bs-gutter-x)* .5);
}

.mr-0{
    margin: 0 !important;
}
.mr-lr-0{
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.mr-t-0{
    margin-top: 0 !important;
}
.mr-t-5{
    margin-top: 5px !important
}
.mr-t-10{
    margin-top: 10px !important;
}
.mr-t-20{
    margin-top: 20px !important;
}
.mr-l-10{
    margin-left: 10px !important;
}
.mr-r-30{
    margin-right: 30px !important;
}
.mr-t-66{
    margin-top: 66px !important;
}
.mr-tr-10{
    margin-top: 10px;
    margin-right: 10px;
}
/*  */
.o-5{
    opacity: 0.5 !important;
}
.o-1{
    opacity: 1 !important;
}

/* width */
.wf{
    width: 100% !important;
}
.w-50{
    width: 50% !important;
}
.w-20{
    width: 20% !important;
}

/* text */
.t-no-wrap {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.l-h-1{
    line-height: 1 !important;
}
.two-lines {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5;
    height: calc(1.5em * 2); /* Chiều cao = 2 dòng */
    font-size: inherit;
}
.t-r{
    text-align: right !important;
}
.t-l{
    text-align: left !important;
}
.t-c{
    text-align: center !important;
}
.t-j{
    text-align: justify;
}

.f-italic{
    font-style: italic !important;
}
.f-bold{
    font-weight: bold !important;
}
.t-d-u{
    text-decoration: underline;
}
/* box - content */
/* box - content - mid */
.b-c-m{
    display: flex;
    justify-content: center;
    width: 100%;
}
.b-c-r{
    display: flex;
    justify-content: right;
    align-items: center;
}
.b-c-l{
    display: flex;
    justify-content: left;
    align-items: center;
}
.flex-start-start{
    display: flex;
    justify-content: start;
    align-items: flex-start;
    
}
.flex-col{
    flex-direction: column;
}
/* POSITION */
.pos-re{
    position: relative;
}
.pos-ab{
    position: absolute;
}
.pos-fix{
    position: fixed;
}

/* background */
.bg-red{
    background-color: #d72631 !important;
}

/* column */
/* col - padding - right */
.col-pd-r{
    padding: 0 70px 0 0;
}
.col-left{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    gap: 20px;
    /* padding: 0 0 0 20px; */
}

/* flex */
.flex-center{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.flex-align-m{
    align-items: center;
}
.flex-col{
    flex-direction: column;
}
.flex-nowrap{
    flex-wrap: nowrap !important;
}
/* Vị trí bắt đầu hiển thị các nội dung chính */
#main{
    /* margin-top: 150px; */
    margin-top: 20vh;
    margin-left: 5rem;
    margin-right: 5rem;
    background-repeat: no-repeat;
    background-size: cover;
}
#header{
    position: relative;
    z-index: 10;
}
/* Khung chứa khác có thể độc lập main full background cách top */
.independent_section{
    background-repeat: no-repeat;
    background-size: cover;
    margin: 66px 0 0 0;
    padding: 0 6rem;
}
.independent_section *{
    position: relative;
}

/* khung chứa thẻ img căn giữa */
.image_container{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.image-container img {
    width: 100%;
    height: auto;
}
/* Tên dưới ảnh cách ảnh và chũ bên dưới */
.image_name{
    line-height: 1.4rem;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0 0 0;
    margin-bottom: 9px;
}
.image_inf{
    font-size: 15px;
    font-weight: 400;
    padding: 10px 0 0 0;
    margin-bottom: 15px;
}
/* tạo khung cho overlay_box */
.overlay_box_img{
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: rgba(255,255,255, 0.15);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.13);
    backdrop-filter: blur(1.8px);
    -webkit-backdrop-filter: blur(1.8px);
    border: 1px solid rgba(249, 4, 4, 0.03);
}
.box_img_ov{
    height: 60%;
}
.overlay_box_img img{
    top: 0;
    width: 100%;
    max-height: 100%;
    height: 100%;
}
.h-100{
    height: 100%;
}
.min-hight-450{
    min-height: 450px !important;
}
.overlay_box_img:hover{
    transform: translateY(-15px);
    transition: 1s ease;
    z-index: 100;
}
/* Lớp phủ dưới chân ảnh */
.overlay_box{
    position: absolute;
    bottom: 0;
    right: 0;
    background: rgb(160, 0, 0); 
    padding: 3px 10px;
    /* font-size: 1rem; */
    transform: translateY(50%) translateX(9%);
    width: 95%;
    border-radius: 8px;
    border: 4px solid white;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .6);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
}
.border-tl-br{
    border-top-left-radius: 20px; 
    border-bottom-right-radius: 20px;
}
.border-radius-10{
    border-radius: 10px;
}
/* Khung chứa 1 danh sách tạo bottom cách */
.content_list{
    margin-bottom: 20px;
}
/* Tiêu đề chính của page */
.page_title{
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-weight: 600;
}
.form_bg_main{
    background-color: rgb(239 220 249 / 73%);
    border-radius: 10px;
    /* bottom: 0; */
}
/* tiêu đề form */
.form_title{
    background-color: #cf96ed; 
    color: #FFFFFC;
    padding: 10px;
    border-radius: 10px;
    margin-top: 20px;
}
.form-group{
    padding: 10px;
    margin-top: 10px;
}
.form-container{
    background-color: rgba(35, 121, 249, 0.633); 
    position: relative;
    width: 100%;
    margin-top: 10px;
}
.close-btn{
    position: absolute;
    top: 0;
    right: 0;
    padding: 6px;
    color: red;
    width: 28px;
}
.close-btn:hover{
    background: red;
    color: black;
    transition: .5s ease;
}
.select-css {
	display: block;
	font-size: 16px;
	font-family: sans-serif;
	font-weight: 700;
	color: #444;
	line-height: 1.3;
	padding: .6em 1.4em .5em .8em;
	width: 100%;
	max-width: 100%; 
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: .5em;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
}
.select-css::-ms-expand {
	display: none;
}
.select-css:hover {
	border-color: #888;
}
.select-css:focus {
	border-color: #aaa;
	box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	color: #222; 
	outline: none;
}
.select-css option {
	font-weight:normal;
}

/* title */
.page_title{
    margin-bottom: 80px;
    margin-top: 120px;;
}

/* heading_two */
.heading_two{
    font-size: 33px;
    text-align: left;
}
/* heading_three */
.heading_three{
    font-weight: bold;
    margin-bottom: 10px;
    color: #d72631;
    font-weight: 500;
    font-size: 19px;
    text-align: justify;
}
/* heading_four */
.heading_four{
    font-size: 16px;
    font-weight: 500;
}

/* text */
.rick_text{
    font-size: 16px;
    text-align: justify !important;
}
.rich_text_no_mr_b{
    margin-top: 1rem;
    margin-bottom: 0;
}

/* Button */
.button-21 {
    margin-top: 10px;
    width: 188px;
    height: 46px;
	align-items: center;
	appearance: none;
	border-radius: 100px;
	border-width: 0;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-flex;
	font-family: CircularStd,sans-serif;
	font-size: 1rem;
	height: auto;
	justify-content: center;
	line-height: 1.5;
	padding: 6px 20px;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s,background-position .2s;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	vertical-align: top;
	white-space: nowrap;
}

.button-21:hover{
    background-color: black !important;
    transition: .5s ease;
}
:active,
.button-21:focus {
	outline: none;
}
  
.button-21:hover {
	background-position: -20px -20px;
}
  
.button-21:focus:not(:active) {
	box-shadow: rgba(40, 170, 255, 0.25) 0 0 0 .125em;
}

/* card home */
.box_card{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 100px 50px;
    padding: 100px 50px;
}

.box_card .card_img_if
{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 350px;
    height: 300px;
    background:#fff;
    border-radius: 20px;
    box-shadow: 0 35px 80px rgba(0,0,0,0.15);
    transition: 1.2s
}
.box_card .card_img_if:hover
{
    height: 400px;
}
.box_card .card_img_if .imgBx
{
    position: absolute;
    top: 20px;
    width: 300px;
    height: 220px;
    background:#333;
    border-radius: 12px;
    transition: 0.5s;
    overflow: hidden;
}
.box_card .card_img_if:hover .imgBx
{
    top: -100px;
    scale: 0.75;
    box-shadow: 0 15px 45px rgba(0,0,0,0.2);
}
.box_card .card_img_if .imgBx img
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* height: 100%; */
    object-fit: cover;

}

.box_card .card_img_if .content
{
    position: absolute;
    top: 252px;
    width: 100%;
    padding: 0 30px;
    height: 30px;
    overflow: hidden;
    text-align: center;
    transition: 0.5s;
}
.box_card .card_img_if:hover .content
{
    top: 140px;
    height: 250px;
}
.box_card .card_img_if .content .sp_name
{
    font-size: 1.5em;
    color: var(--clr);
}
.box_card .card_img_if .content .sp_title
{
    font-size: 1em;
    color: #100000;
}
.box_card .card_img_if .content .card_button
{
    position: relative;
    top: 15px;
    display: inline-block;
    padding: 12px 25px;
    background: #ff3e7f;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    border-radius: 8px;
}
/* Counter */
.counter{
    padding: 0 30px !important;
    position: relative;
}
.counter-item{
    position: relative;
}
.counter-title h2{
    font-weight: bold !important;
    font-size: 2.5em !important;
    color: var(rgb(--color_14));
}


/* Masonry */
.masonry{
    padding: 0px;
    margin: 20px 0;
}
.masonry .main-card {
    width: 100%;
    height: 300px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .2);
    border-radius: 20px;
    background: #0e0e0f;
    overflow: hidden;
    position: relative;
}
.masonry .main-card.hero-card{
    height: 600px;
}
.masonry .main-card.hero-card .card-title h3{
    font-size: 2em;
}
.masonry .main-card.hero-card .card-info{
    font-size: 1.2em;
}
.masonry .main-card .card-time{
    position: absolute;
    top: -10px;
    left: 15px;
    background:rgb(var(--color_18));
    color: white;
    padding: 15px 10px;
    z-index: 1;
}
.masonry .main-card .card-time span{
    display: block;
    font-weight: bold;
    font-size: 1.2em;
    text-align: left;
}
.masonry .main-card .card-img {
    height: 100%;
    box-sizing: border-box
}

.masonry .main-card .card-img img {
    display: block;
    height: 100%;
    margin: 0 auto
}

.masonry .card-content {
    position: absolute;
    width: 100%;
    bottom: 0px;
    box-sizing: border-box;
    transition: .5s
}
.masonry .card-content .card-title {
    font-size: 18px;
    text-align: right;
    margin: 0px;
    font-weight: 600;
    background-color: rgba(0,0,0,0);
    position: absolute;
    width: 100%;
    bottom: 100%;
    padding: 20px;
}
.masonry h3{
    margin: 0px 
}
.masonry .card-content .card-info{
    position: absolute;
    top: 0px;
    width: 100%;
    height: 160px;
    background: rgba(0, 0, 0, 0.4);
    margin: 0;
    padding: 10px 15px;
    text-align: right;
}
.masonry .card-content .card-info *{
    font-size: 1em !important;
    text-align: justify;
}
.masonry .card-content .card-info .read{
    text-align: right;
    font-style: italic;
    font-weight: bold;
    color: rgb(var(--color_18));
}
.masonry .main-card:hover .card-content {
    bottom: 160px
}

.list-all{
    font-weight: bold;
}
/* Card speaker */
.speaker_card {
    position: relative;
    width: 100%;
    height: 350px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15);
    overflow: hidden;
    transition: clip-path 0.3s ease-in-out;
    clip-path: circle(110px at 50% 40%);
    transition: .2s ease-in-out;
    /* padding: 20px; */
    /* transition: 10s; */
}

.speaker_card:hover {
    clip-path: none;
}
.speaker_card:hover .speaker_circle{
    transform: translateX(-50%) scale(1);
}
.speaker_card img:hover {
    object-position: 0;
}
.speaker_card .speaker_span {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 150px;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.speaker_circle{
    position: absolute;
    width: 89%;
    height: 63%;
    border: 2px dashed rgb(255, 255, 255);
    z-index: 2;
    border-radius: 100%;
    top: 9%;
    left: 50%;
    transform: translateX(-50%) scale(1.5);
    transition: .5s ease-out;
}
.speaker_card .icon_detail {
    position: absolute;
    top: 50%;
    right: 16%;
    /* transform: translateX(-163%); */
    font-size: 24px;
    color: red;
    cursor: pointer;

    background: white;
    /* padding: 2px; */
    border-radius: 10px;
    width: 36px;
    text-align: center;

    z-index: 3;
}
.speaker_card .speaker_span::before {
    content: 'Best Value';
    position: absolute;
    width: 150%;
    height: 40px;
    background: #62baea;
    transform: rotate(-45deg) translateY(-20px);
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.1em;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
}
.speaker_card img{
    width: auto;
    height: 100%;
    position: absolute;
    left: 50%;
    /* top: 8%; */
    object-position: 0 30px;
    transform: translateX(-50%);
    object-fit: cover;
}
.speaker_card .speaker_span::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 10px;
    height: 10px;
    background: #4a98bf;
    z-index: 1;
    box-shadow: 140px -140px #4a98bf;
}
/* Loading */
.display-none{
    display: none;
}
.display-block{
    display: block;
}
#loading {
    /* display: none; */
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); 
    
    justify-content: center; 
    align-items: center; 
    z-index: 101; 
} 
/* Lớp phủ main */
.mask_body{
    position: absolute;
    top: 0;left: 0;right: 0;bottom: 0;
    background: #ffe0e687;
    z-index: 99;
    /* display: flex; */
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    display: none;
}
.mask-wrapper {
    background: white;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow-y: scroll;
    height: 50vh;
}

.speaker_img_dt{
    border-bottom-left-radius: 20px;
    border-top-right-radius: 20px;
    overflow: hidden;
}
.speaker_img_dt img{
    width: 100%;
}
.speaker_content{
    padding: 20px;
}
.close-mask {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 24px;
    cursor: pointer;
    transition: .3s ease;
    z-index: 4;
}

/* Bosstrap */
.row>*{
    margin-right: 0;
    margin-left: 0;
    padding-left: 0;
  }
.card{
    border: none;
}

/* fixed button */
#fixed_menu_btn  {
    /* background: red; */
    margin-right: 20px;
    z-index: 999;
    text-align: left;
}

#fixed_menu_btn .navbar-toggler {
    margin-left: auto;
    width: 40px;
    height: 40px;
    padding: 0px;
    background: rgb(32, 32, 32);
}

#fixed_menu_btn ul {
    flex-direction: column;
}

#fixed_menu_btn ul li {
    background: rgba(250, 20, 12, 0.877);
    padding: 2px 10px;
    margin: 2px 0px;
    color: rgba(255, 255, 255, 1);
    font-weight: 600;
    border-radius: 30px;
    box-shadow: 0px 0px 3px 0px;
}

#fixed_menu_btn ul li:has(.active) {
    background: rgba(239, 29, 37, 0.7);
    transform: scaleX(1.2);
    transform-origin: right;
    transition: all 0.8s;
}

#fixed_menu_btn ul li:has(.active) a,
#fixed_menu_btn ul li:has(.active) a::after {
    color: rgba(51, 51, 51, 1);
    transform: scaleX(0.83);
    transition: all 0.8s;
}

#fixed_menu_btn ul li:hover {
    background: rgb(255, 0, 8);
    transform: scaleX(1.08);
    transform-origin: right;
    transition: all 0.2s;
}

#fixed_menu_btn ul li a {
    display: inline-block;
    padding: 0px;
    color: rgba(255, 255, 255, 0.8);
    width: 100%;
}

#fixed_menu_btn .dropdown .dropdown-menu {
    left: -110%;
    top: 0;
    padding: 0;
    background: none;
    border: none;
}

#fixed_menu_btn .dropdown:hover .nav-link {
    color: #333;
}

#fixed_menu_btn .dropdown:hover .dropdown-item:hover {
    background: none;
    color: #333;
}

/*  table ticket*/
.table_ticket {
    width: 100%;
    /* overflow-x: auto;  Loại bỏ cuộn ngang */
    -webkit-overflow-scrolling: touch;
}

.table_ticket .table {
    border-collapse: separate;
    border-spacing: 10px;
    width: 100%;
    max-width: 100%;
    table-layout: fixed; /* Cố định kích thước cột */
    margin: 20px 0;
}

.table_ticket .table th, .table td {
    border: 1px solid #ddd; 
    padding: 8px; /* Giảm padding để vừa với không gian nhỏ */
    border-radius: 8px; 
    word-wrap: break-word; /* Chia từ nếu quá dài */
    text-align: center; /* Canh giữa nội dung */
}

.table_ticket .table thead th {
    background-color: #ffdddd; 
    color: #d00; 
    font-weight: bold;
}

.table_ticket .table tbody td {
    font-weight: bold;
    color: #000; 
    background-color: #fff; 
    transition: 1s ease;
}

.table_ticket .table thead tr:first-child th:first-child {
    border-top-left-radius: 8px; 
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.table_ticket .table thead tr:first-child th:last-child {
    border-top-right-radius: 8px; 
    border-bottom-right-radius: 0;
}

.table_ticket .table thead tr:nth-child(2) th {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.table_ticket .table thead tr:first-child th[colspan="3"] {
    border-bottom-right-radius: 0; 
    border-bottom-left-radius: 0;
}

.table_ticket .table tbody td:hover {
    transform: scale(1.1); /* Giảm scale để không làm tràn bảng */
}

@media screen and (max-width: 767px) {
    .table_ticket .table th, .table td {
        font-size: 9px; /* Giảm kích thước chữ trên màn hình nhỏ */
        padding: 6px; /* Giảm padding để phù hợp màn hình nhỏ */
    }
}


/* registrantion */
.registration_header {
    padding: 20px;
    background-color: #f8f9fa;
}
.box {
    background-color: transparent;
    border-bottom: 2px double #3D9BE9;
    padding: 20px;
    text-align: center;
    margin-bottom: 10px;
}
.border-2-d-xtc{
    border-bottom: 2px double #3D9BE9 !important;
}
.border-2-d-red{
    border-bottom: 2px double red !important;
}
.registration_page{
    background-color: #f8f9fa;
    margin-top: 10px;
    padding: 20px;
}

.hbtha{
    width: 263px ;
    height: 200px;
}
/* POST */
.post-info{
    background-color: rgb(var(--color_21));
    padding: 20px 20px 10px;
    display: block;
    margin: 30px auto;
    width: 80%;
}
.post-info span{
    display: inline-block;
    margin-bottom: 10px;
    vertical-align: top;
}
.post-info .info-title{
    font-weight: 600;
    width: 300px;
}
.post-info a{
    color: rgb(var(--color_1));
}

.post-summary *{
    font-style: italic;
    font-weight: 600 !important;
    text-align: justify;
    font-size:  1.5em;
    line-height: 1.5em;
}

.post-detail{
    margin: 80px auto 50px;
    
}
.post-detail *{
    text-align: justify;
}
.post-detail img{
    max-width: 100%;
    height: auto;
    display: block;
    margin: 30px auto;
    border: 1px solid;
}

.post-note{
    background-color: rgba(var(--color_21), 0.7);
    color: #fff;
    padding: 20px 15px;
    border-radius: 5px;
}

.post-footer {
    margin-top: 50px;
    background-color: #8F0000;
    z-index: 10;
    position: relative;
}
.post-footer .row{
    padding: 30px 0 10px;
}
.post-footer div[class^='col-']{
    padding: 5px 10px;
}
.post-footer~#footer_bottom .hero_area{
    margin-top: -135px;
}
.post-footer~#footer_bottom .hero_area #gentle-wave{
    background-color: #8F0000;
    fill: #8F0000;
}
.post-author{
    color: rgb(var(--color_1))
}
.post-author img{
    width: 10vw;
    min-width: 100px;
    max-width: 150px;
    height: auto;
    border-radius: 50%;
    border: solid 3px rgb(var(--color_1));
    float: left;
    position: relative;
    z-index: 2;
}
.post-author .author_info{
    float: left;
    padding-left: 15px;
    margin-bottom: 20px;
}
.post-author .author_info .author_name{
    font-weight: 800;
}
.post-author .author_info hr{
    margin: 6px -20px 10px -30px;
    min-width: 300px;
    border-bottom: solid 6px rgb(var(--color_1));
    border-radius: 0 100% 0 0;
    opacity: 1;
}
/* FOOTER */
.content-info *{
    width: 100%; 
    position: relative;
}
.footer-social{
    color: #fff;
    font-size: 2.2em;
}


/* RESPONSIVE */

@media (max-width: 1200px){
    .page_title{
        font-size: 41px; 
    }
    .heading_two{
        font-size: 30px;
    }

    /* heading_three */
    .heading_three{
        font-size: 20px; 
    }

    /* heading_four */
    .heading_four{
        font-size: 16px; 
    }
    .rick_text {
        font-size: 14px;
    }
    .button-21
    {
        font-size: .6rem !important;
    }

    .speaker_card {
        clip-path: circle(80px at 50% 40%);
        transition: 2s ease-in-out;
    }
    .speaker_circle{
        width: 100%;
        height: 48%;
        top: 17%;
    }
}

/* Màn hình trung bình */
@media (max-width: 992px) {
    /* .nav-link{
        color: white !important;
    } */

    .independent_section{
        padding: 0 0rem;
    }
    .page_title{
        font-size: 43px; 
    }
    /* tiêu đề form */
    /* .form_title{
      
    } */

    /* heading_two */
    .heading_two{
        font-size: 28px;
    }

    /* heading_three */
    .heading_three{
        font-size: 18px; 
    }

    /* heading_four */
    .heading_four{
        font-size: 14px; 
    }

    .rick_text {
        font-size: 10px;
    }

    .speaker_card {
        clip-path: circle(110px at 50% 40%);
        transition: 2s ease-in-out;
    }
    .speaker_circle{
        width: 100%;
        height: 63%;
        top: 9%;
    }
}

/* Màn hình nhỏ */
@media (max-width: 768px) {
    .border-tl-br{
        border-top-left-radius: 10px; 
        border-bottom-right-radius: 10px;
    }
    .pd-r-70{
        padding-right: 0px;
    }
    #main {
        /* margin-top: 150px; */
        margin-left: 2rem; 
        margin-right: 1rem; 
    }

    .independent_section {
        margin-top: 50px;
        padding: 0 2rem; 
    }
    .page_title{
        font-size: 32px;
    }

    /* .form_title{
        
    } */
    .footer-container{
        height: 35vh;
    }
    .heading_two{
        font-size: 22px;
    }
    .heading_three{
        font-size: 14px; 
    }
    .heading_four{
        font-size: 12px; 
    }

    /* .col-left.col-md-4{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0px;
    } */
    
}
@media (max-width: 767.98px) {
    .fixed-buttons .btn-group {
      display: none;
    }
    .fixed-buttons .dropdown {
      display: flex;
    }
  }
/* Màn hình rất nhỏ */
@media (max-width: 576px) {
    .navbar_content {
        margin: 22px auto;
    }

    #main {
        /* margin-top: 150px;  */
        margin-left: 1rem; 
        margin-right: 1rem; 
    }

    .independent_section {
        margin-top: 30px;
        padding: 0 1rem; 
    }
    .page_title{
        font-size: 26px; 
    }
    .heading_two{
        font-size: 20px; 
    }
    .heading_three{
        font-size: 14px;
    }
    .heading_four{
        font-size: 10px; 
    }

    .rick_text {
        font-size: 9.5px;
    }

    .button-21 {
        width: 120px;
        font-size: 0.6rem;
    }
    .speaker_circle{
        width: 46%;
        height: 63%;
        top: 9%;
    }
    .speaker_card .icon_detail {
        top: 51%;
        right: 30%;
    }
}

@media (max-width: 375px){
    .speaker_circle {
        width: 60%;
        height: 63%;
        top: 9%;
    } 
    .img_logo_nav{
        max-width: 100px;
    }
    .table_ticket .table th, .table td {
        font-size: 10px; /* Giảm kích thước chữ trên màn hình nhỏ */
        padding: 6px; /* Giảm padding để phù hợp màn hình nhỏ */
    }
    .table_ticket .table tbody td {
        font-size: 10px;
    }
}