:root{

	--color1:var(--primary-color);
	--color2:var(--fs-color-secondary);

	--cl-text:var(--fs-color-base);
	--ac: #ef6223;
    --cth-tab-top:88px;
}
.cta-box{
    #supportButton {
	    position: fixed;
	    bottom: 80px;
	    right: 5px;
	    color: green;
	    border: none;
	    cursor: pointer;
	    z-index: 100;
	    width: 64px;
	    height: 64px;
	    border-radius: 99px;
	    background: green;
	    box-shadow: 0 0 20px green;
		margin-bottom:0;
	    svg{
	        margin-top: 13px;
		    margin-left: -2px;
	    }
    }
    #supportOptions {
	    display: none;
	    position: fixed;
	    bottom:170px;
	    right: 20px;
	    background-color: #fff;
	    border: 1px solid #ccc;
	    border-radius: 10px;
	    padding: 10px;
	    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	    z-index: 9999;
	    max-width: 230px;
	    strong	{
	    	color: var(--color1);
	    }
	    .btn_tuvan{
	    	border: 10px;
	    	margin-top: 10px;
	    	a{
	    		color:var(--color1);
	    		font-size: 16px;
    			font-weight: bold;
	    		>div{
	    			padding: 10px 10px 10px 40px;
	    			margin-bottom: 1px;
	    			background: #eee;
	    			position: relative;
	    			
	    			svg{
	    				position: absolute;
	    				top: 12px;
	    				left: 10px;
	    			}
		    		&:hover{
		    			background: #dcdcdc;
		    		}
		    	}
		    	&:first-child{
		    		border-radius: 10px 10px 0 0;
		    		div{
		    			border-radius: 10px 10px 0 0;
		    		}
		    	}
		    	&:last-child{
		    		border-radius:  0 0 10px 10px;
		    		div{
		    			border-radius:  0 0 10px 10px;
		    		}
		    	}
	    	}
	    }
	    #closeButton {
		    position: absolute;
		    top: -15px;
		    right: -15px;
		    cursor: pointer;
		    width: 30px;
		    height: 30px;
		    background: white;
		    border-radius: 99px;
		    text-align: center;
		    padding-top: 4px;
		    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	    }
    }
    .supportOption {
        margin-bottom: 10px;
    }  
}
div#masthead{
	ul.header-nav.header-nav-main {
		> li.menu-item{
			margin:0 2px;
			> a{
				font-size: 16px;
				font-weight: 600;
				color: var(--cl-text);
				padding: 0 20px;
			}
			&:before, &:after{
				display: none;
			}
			&.current-menu-item {
				>a{
					height: 88px;
					color: var(--color1);
					font-weight: bold;
				}
				ul{
					li{
				    	padding: 0;
				    	border-bottom:#6184af 0px dotted;
				    	a{
				    		color: #fff;
				    		display: block;
					    	width: auto;
					    	height: auto;
					    	line-height: 20px;
					    	padding: 10px 5px 10px 10px;
					    	text-align: left;
					    	font-size: 15px;
					    	background: var(--color2);
							margin: 0;
				    	}
				    	&:hover{
				    		a{
				    			background: var(--color1);
				    		}
				    	}
				    }
				}
			}
			&:hover {	
				ul{
					opacity: 1;
					visibility: visible;
					transform: translateY(0);
					pointer-events: auto;
				}
				>a{
					height: 88px;
					color: var(--color1);
					font-weight: bold;
				}
			}
			ul{
				display: block !important;
			    opacity: 0;
			    visibility: hidden;
			    transform: translateY(-15px);
			    transition: all 0.3s ease;
			    pointer-events: none;
			    left: 0;
			    width: 200px !important;
		        min-width: 200px !important;
		        left: 0;
			    padding:0;
			    border:unset;
			    box-shadow:unset;
			    li{
			    	padding: 0;
			    	border-bottom:#6184af 0px dotted;
			    	a{
			    		color: #fff;
			    		display: block;
				    	width: auto;
				    	height: auto;
				    	line-height: 20px;
				    	padding: 10px 5px 10px 10px;
				    	text-align: left;
				    	font-size: 15px;
				    	background: var(--color2);
						margin: 0;
			    	}
			    	&:hover{
			    		a{
			    			background: var(--color1);
			    		}
			    	}
			    }
			}
		}
	}
}
.title_headcenter{
	margin-bottom: 0 !important; 
	b{
		opacity: 0 !important;
	}
	span.section-title-main{
		font-size: 40px;
		color: var(--color1);
		text-transform: initial;
	}
}
.title_left{
	margin-bottom:0px !important;
	.section-title-normal{
		border-bottom: unset;
	}
	span.section-title-main{
		font-size: 40px;
		color: var(--color1);
		text-transform: initial;
		border-bottom: unset;
	}
}
.secGiatri_home{
	.row_iconGiatri{
		.col {
			.col-inner {
					height: 100%;
					.box .box-text{

					}
				}
			&.col1{
				.col-inner {
					 background: #ef6223;
				}
				.box .box-text{
					   
					&:before{
						mask-repeat: no-repeat;
						mask-size: cover;
						mask-image: url(assets/img/bgr.svg);
						background-color: var(--fs-color-primary);
					}
				
				}
			}
			&.col2{
				.col-inner{
					  background: #2b3f81;
				}
				.box .box-text{
					  
					&:before{
						mask-repeat: no-repeat;
						mask-size: cover;
						mask-image: url(assets/img/bgr.svg);
						background-color: var(--fs-color-secondary);
					}
				
				}
			}
			&.col3{
				.col-inner {
					 background: #ef6223;
				}
				.box .box-text{
					    background: #ef6223;
					&:before{
						mask-repeat: no-repeat;
						mask-size: cover;
						mask-image: url(assets/img/bgr.svg);
						background-color: var(--fs-color-primary);
					}
				
				}
			}
			&.col4{
				.col-inner{
					  background: #2b3f81;
				}
				.box .box-text{
					    background: #2b3f81;
					&:before{
						mask-repeat: no-repeat;
						mask-size: cover;
						mask-image: url(assets/img/bgr.svg);
						background-color: var(--fs-color-secondary);
					}
				
				}
			}
			.col-inner{
				border-radius: 10px;
				height: 100%;
			}
			.box{
				&:hover{
					.box-image{
						overflow:hidden;
						img{
							transform: scale(1.09);
						}
					}
				}
				.box-image{
					border-radius: 10px 10px 0 0;
					z-index: 1;
					img{
						transition: transform 0.5s cubic-bezier(0, 0, 0.44, 1.18);
					}
				}
				.box-text{
					padding: 10px 10px 15px;
					border-radius: 0 0 10px 10px;
					z-index:9;
					&:before{
					    content: "";
					    width: 100%;
					    height: 70px;
					    display: block;
					    position: absolute;
					    left: 0;
					    top: -35px;
					    z-index: -1;
					    background-size: cover!important;
					}
					.top_title {
						h3,p{
							font-size: 19px;
							text-align: center;
							color: #fff;
						}
					}
					.description{
						p{
							color: #fff;
							font-size: 14px;
							text-align: center;
						    overflow: hidden;
						    text-overflow: ellipsis;
						    line-height: 20px;
						    -webkit-line-clamp: 4;
						    height: 80px;
						     display: -webkit-box;
						    -webkit-box-orient: vertical;
						}
					}
				}
			}
		}
	}
}
.sec_chuongtrinhhoc{
	.row_sliders {
		button.flickity-button {
			opacity:1;
			&.previous {

			}
			&.next{

			}
		}
		ol.flickity-page-dots{
			bottom: -15px;
			li{
				background: var(--color1);
				border-color: var(--color1);
			}
		}
		.col{
			&:nth-child(2n+1){
				.box .box-text:before{
					background: url(assets/img/bg1.png) top left no-repeat;
				}
			}
			&:nth-child(2n+2){
				.box .box-text:before{
					background: url(assets/img/bg2.png) top left no-repeat;
				}
			}
			
		}
		.box {
			&:hover{
				.box-image{
					img{
						transform: scale(1.09);
					}
				}
			}
			.box-image{
				border-radius: 20px;
				overflow:hidden;
				img{
					transition: transform 0.5s cubic-bezier(0, 0, 0.44, 1.18);
				}
				.shade{
					opacity: 0;
				}
			}
			.box-text{
				padding: 0px 10px 20px;
				border-radius: 0 0 10px 10px;
				z-index:9;
				text-shadow:unset;
				opacity:1;
				&:before{
				    content: "";
				    width: 100%;
				    height: 165px;
				    display: block;
				    position: absolute;
				    left: 0;
				    bottom: 0;
				    border-radius: 10px;
				    z-index: -1;
				}
				.top_title{
					h3, p {
						font-size: 24px;
						color: #fff;
						font-weight: bold;
						line-height: 1.2;
					}
				}
				.desc p{
					line-height: 1.4;
					font-size: 14px;
					color: #fff;
				}
			}
		}
	}
}
.form_ldangky  {
	.col{
		padding-bottom: 5px;
		padding-left:30px;
		padding-right:30px;
		input,select {
			border-radius: 5px;
			box-shadow: unset;
			border: 1px solid #666;
			min-height: 48px;
			font-size: 14px;
			color: var(--cl-text);
			margin-bottom: 10px !important;
		}
		input.wpcf7-form-control.wpcf7-submit.has-spinner{
			color: #fff;
			display: block;
			max-width: 200px;
			margin: 10px auto 0;
			border-radius: 99px;
			padding: 5px 25px;
			min-width: 180px;
		}
		span.wpcf7-spinner{
			display: none;
		}
	}
}
.sec_gv{
	ol.flickity-page-dots{
		bottom: -15px;
		li{
			background-color: var(--color1) !important;
			border:3px solid var(--color1);
			background: var(--color1);
		}
	}
	button.flickity-button {
		opacity: 1;
		transform: translateX(0%);
		top: 5%;
	}
	.box{
		.box-image{
			border-radius: 10px;
			img{
				border-radius: 10px;
			}
		}
		.box-text{
			.names{
				p{
					font-size: 20px;
					font-weight: bold;
					color: var(--color2);
				}
			}
			.country {
				img.alignleft {
					display: unset;
				    float: unset;
				    margin: 0;
				}
				p{
					font-size: 16px;
					font-weight: 500;
				}
			}
		}
	}
}
.sec_review{
	ol.flickity-page-dots{
			bottom: -15px;
			li{
				background: var(--color1) !important;
				border-color: var(--color1) !important;
			}
		}
	.rvdg{
		
		.icon-box.testimonial-box{
			.circle img {
				border-radius: 65px  0 65px 0  !important;
			}
			.icon-box-text{
				.star-rating {
					font-size:18px;
					span:before {
						color:var(--color1);
						font-size:18px;
					}
				}
				.testimonial-text.line-height-small.italic.test_text.first-reset.last-reset.is-italic{
					font-size:14px;
					color: var(--cl-text);
					font-style: unset !important;
					p{
						font-size:16px;
						color: var(--cl-text);
	
					}
				}
			}
		}
	}
}
footer {
	.sec_Ft  {
		.icon-box{
			.titles {
				p{
					font-size:24px;
					font-weight:bold;
				}
			}
			.contents {
				margin-top:20px;
				p{
					font-size:16px;
					font-weight:500;
					margin-bottom:5px;
				}
			}
		}
		.ux-menu {
		    display: flex;
    		align-items: center;
    		margin-top:20px;
			.ux-menu-link {
				width:fit-content;
				a.ux-menu-link__link{
				    width: fit-content;
				    border-bottom: 0px solid transparent;
				    padding: 0;
				    min-height: unset;
				    margin-bottom: 7px;
				    font-size:16px;
				}
			}
		}
	}
	.absolute-footer.dark.medium-text-center.small-text-center {
    	display: none;
	}
}
a.button.primary.lowercase{
	font-size: 15px;
	font-weight: 600;
	border-radius: 5px;
}
.baner_cungcapgv{
	.title_banner {
		h2, p{
			font-size: 36px;
			font-weight: bold;
			color: #fff;
		}
	}
	.desc_dv{
		max-width: 700px;
		p{
			font-size: 16px;
			text-align: justify;
		}
	}
}
.sec_ccgv {
	.row_hthuc {
		.right_col{
			.box{
				.box-text{
					max-width: 90%;
					margin: -10% auto 0;
				    border-top: 10px solid var(--color1);
				    border-radius: 10px;
				    box-shadow: 1px 2px 2px 2px #cfcfcf;
				    .title_top{
				    	h3,p{
				    		font-size: 24px;
				    		color: var(--color1);
				    		font-weight: 600;
				    	}
				    }
				}
			}
		}
		.left_col {
			.title_border  {
			    padding: 20px;
			    border-top: 10px solid;
			    border-radius: 10px;
			    font-size: 18px;
			    font-weight: 300;
			    margin-bottom: 15px;
			    p{
			    	font-size: 18px;
			    	text-align: left;
			    	font-weight: 400;

			    }
			    &.title_01{
			        border-color: #F7941D;
			        background: color-mix(in srgb, #F7941D 20%, white);;
			    }
			     &.title_02{
			        border-color: #EB5757;
			        background: color-mix(in srgb, #EB5757 20%, white);;
			    }
			     &.title_03{
			        border-color: #56CCF2;
			        background: color-mix(in srgb, #56CCF2 20%, white);;
			    }
			    &.title_04{
			        border-color: #28A745;
			        background: color-mix(in srgb, #28A745 20%, white);;
			    }

			}
		}
	}
	.row_lydo{
		.icon-box{
			.icon-box-img{
				margin-bottom: 0;
			}
			&.text-left{
				.titleicon {
					
					p{
						font-size: 20px;
						font-weight: bold;
						margin-bottom: 5px;
					}
				}
				.desc p{
	 				font-size: 15px;
				}
			}
			&.icon-box-left{
				margin-bottom: 35px;
				.titleicon{
					margin-top:15px;
				}
			}
			&.icon-box-top {
				.icon-box-text.last-reset {
					margin-left: 20%;
				}
			}
		}
	}
	.row_lydo {
		.icon-box {
			.icon-box-text {
				.titleicon {
					p{
						font-size: 20px;
						font-weight: bold;
						color: var(--color1);
					}
				}
			}
		}
	}
}
.breadcrumb-shop {
	margin-bottom: 60px;
	position:relative;
	.breadcrumb-content {
	    position: absolute;
	    top: 55%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    width: 100%;
	    .breadcrumb-big {
	    	h2{
	    		font-size: 36px;
	    		font-weight: bold;
    		    text-shadow: 1px 1px 2px #000;
    		    color: #fff;
	    	}
	    }
	}
}
.class_pt_post{
	div#post-list {
		.box {
			.box-image{
				position: relative;
				overflow: hidden;
				img{
					transition:  0.5s ease-in-out;
				}
			}
			&:hover {
				.box-image{
					img{
						transform: scale(1.1);
					}
				}
			}
			.box-text {
				background: #fff;
			    z-index: 99;
			    position: relative;
			    padding: 20px 13px;
			    border-radius: 10px;
			    border: 1px solid #FFF;
			    box-shadow: 0px 4px 4px 0 rgba(0, 0, 0, 0.05), 0px 4px 4px 0 rgba(0, 0, 0, 0.05);
				display: flex;
			    flex-wrap: wrap;
			    align-items: flex-start;
			    gap: 10px 0;
			    min-height:140px;
				.post-title {
					width: 100%;
    				flex: 0 0 100%;
    				margin-bottom: 15px;
					a{
					    font-size: 18px;
					    font-weight: 600;
					    display: block;
					    color: var(--cl-text);
						overflow: hidden;
						text-overflow: ellipsis;
						line-height: 25px;
						-webkit-line-clamp: 2;
						height: 50px;
						display: -webkit-box;
						-webkit-box-orient: vertical;
					}
				}
				.post-meta{
				    flex: 0 0 50%;
				    max-width: 50%;
				    margin: 0;
				    text-align: left;
				    font-size:14px;
				}
				.is-divider,	 .from_the_blog_excerpt,p{
					    display: none;
				}
				a.button.is-outline.is-small.mb-0 {
				    border-radius: 99px;
				    border: 1px solid var(--color2);
				    position: absolute;
				    right: 13px;
				    bottom: 20px;
				    margin: 0;
				    padding: 2px 15px;
				    font-size: 14px;
				    text-align: center;
				    text-transform: capitalize;
				    color: var(--color2);
				    &:hover{
				    	color:#fff;
				    	border:1px solid var(--color1);
				    }
				}
			}
		}
	}
}
.post-sidebar.large-3.col {
	div#secondary {
		.widget_search  {
			input {
			    width: 100%;
			    line-height: 35px;
			    padding: 0 10px;
			    border-radius: 4px;
			    border: 1px solid #3cb111;
			}
			button.ux-search-submit.submit-button.secondary.button.icon.mb-0 {
		        position: absolute;
			    right: 0;
			    top: 0;
			    background: transparent;
			    border: unset;
			    color: #3cb111;
			}
		}
		.widget-title{
		    font-size: 18px;
		    text-transform: uppercase;
		    font-weight: bold;
		    margin-bottom: 20px;
		    padding-bottom: 10px;
		    border-bottom: 1px solid #ddd;
		    text-align: left;
		    display: flex;
		    align-items: center;
		    justify-content: space-between;
		}
		li.recent-blog-posts-li{
			.recent-blog-posts {
				&:hover{
					.flex-col.flex-grow{
						a{
							color: var(--color1);
						}
					}
				}
				.badge.post-date.badge-outline{
					width: 100px;
					height: 100px;
					border-radius: 4px;
				}
				.flex-col.flex-grow{
					a{
						color: var(--cl-text);
						font-size: 14px;
					}
				}
			}
		}
	}
}
// single chường trình học

.cth-wrap {

    /* ══ HERO ════════════════════════════════════ */
    & .cth-hero {
        position: relative;
        overflow: hidden;
        max-height: 500px;

        & > img {
            width: 100%;
            display: block;
            object-fit: cover;
            max-height: 500px;
        }

        & .cth-hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to top,
                rgba(0,0,0,.72) 0%,
                rgba(0,0,0,.05) 65%,
                transparent 100%
            );
        }

        & .cth-hero-content {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            padding: 32px 20px;
        }

        & .cth-hero-title {
            font-size: 30px;
            font-weight: 800;
            color: #fff;
            margin: 0 0 18px;
            line-height: 1.25;
            text-shadow: 0 2px 8px rgba(0,0,0,.35);

            @media (max-width: 768px) { font-size: 22px; }
        }

        /* Override Flatsome .badge trên nền tối */
        & .badge.outline {
            border-color: rgba(255,255,255,.6);
            color: #fff;
            font-size: 11px;
        }
    }

    /* ══ TAB BAR STICKY ══════════════════════════ */
    & .cth-tabbar {
        background: #fff;
        border-bottom: 2px solid #f0f0f0;
        position: sticky;
        top: 0;
        z-index: 999;
        box-shadow: 0 2px 6px rgba(0,0,0,.06);

        top: var(--cth-tab-top, 0px);

        /* Admin bar */
        .admin-bar & { top: calc(var(--cth-tab-top, 0px) + 0px); }

        & .cth-nav {
            list-style: none;
            margin: 0; padding: 0;
            display: flex;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
          
            // &::-webkit-scrollbar { display: none; }

            & li { flex-shrink: 0; margin-bottom: 3px}

            & .cth-nav-btn {
                background: none;
                border: none;
                cursor: pointer;
                font-size: 14px;
                font-weight: 600;
               color: var(--cl-text);
                padding: 15px 20px;
                border-bottom: 3px solid transparent;
                margin-bottom: -2px;
                white-space: nowrap;
                transition: color .2s, border-color .2s;

                &:hover  { color: var(--ac); }
                &.active { 
                	color: #fff;
                	background: var(--ac); 
                	border-bottom-color: var(--ac); 
                }

                @media (max-width: 768px) { font-size: 13px; padding: 12px 14px; }
            }
        }
    }

    /* ══ TAB PANELS ══════════════════════════════ */
    & .cth-panel {
        display: none;
        &.active { display: block; }
    }

    & .cth-panel-title {
        font-size: 20px;
        font-weight: 800;
        margin: 0 0 22px;
        padding-bottom: 10px;
        position: relative;
        display: inline-block;

        &::after {
            content: '';
            display: block;
            position: absolute;
            bottom: 0; left: 0;
            width: 48px; height: 3px;
            background: var(--ac);
            border-radius: 2px;
        }
    }

    /* ══ ACCORDION ═══════════════════════════════ */
    & .cth-acc-group {
        border: 1px solid #ebebeb;
        border-radius: 8px;
        overflow: hidden;

        & .cth-acc {
            border-bottom: 1px solid #ebebeb;
            &:last-child { border-bottom: none; }

            &.open {
                & .cth-acc-head    { background: #fff8f5; }
                & .cth-acc-chevron { transform: rotate(180deg); color: var(--ac); }
                & .cth-acc-body    { max-height: 2000px; }
            }
        }

        & .cth-acc-head {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 12px;
            background: #fff;
            border: none;
            cursor: pointer;
            padding: 14px 18px;
            text-align: left;
            transition: background .15s;
            margin-bottom:0;
            &:hover { background: #fff8f5; }
        }

        & .cth-acc-no {
            flex-shrink: 0;
            width: 26px; height: 26px;
            border-radius: 50%;
            background: var(--ac);
            color: #fff;
            font-size: 11px; font-weight: 700;
            display: flex; align-items: center; justify-content: center;
        }

        & .cth-acc-label {
            flex: 1;
            font-size: 15px; font-weight: 700;
           color: var(--cl-text);
        }

        & .cth-acc-chevron {
            flex-shrink: 0;
            color: #aaa;
            transition: transform .25s;
        }

        & .cth-acc-body {
            max-height: 0;
            overflow: hidden;
            transition: max-height .35s ease;
        }
    }

    /* ══ SIDEBAR STICKY ══════════════════════════ */
    & .cth-sidebar {
        position: sticky;
        top: calc(var(--cth-tab-top, 0px) + 0px); /* tabbar height ~56px */
        display: flex;
        flex-direction: column;
        gap: 16px;

        @media (max-width: 768px) { position: static; margin-top: 24px; }
    }

    & .cth-info-list {
        list-style: none;
        padding: 0; margin: 0 0 16px;
        display: flex; flex-direction: column; gap: 10px;

        & li {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            gap: 8px;
            font-size: 14px;
            border-bottom: 1px dashed #f0f0f0;
            padding-bottom: 8px;
            margin-left:0;
            &:last-child { border-bottom: none; padding-bottom: 0; }
        }

        & b {
            font-size: 12px; font-weight: 600;
            text-transform: uppercase; letter-spacing: .5px;
            color: var(--cl-text); white-space: nowrap;
        }

        & span {color: var(--cl-text); font-weight: 500; text-align: right; }
    }

    /* ══ FLICKITY SLIDER ═════════════════════════ */
    & .cth-gv-slider {
        margin: 0 -8px;

        &.flickity-enabled { padding-bottom: 44px; }

        & .flickity-viewport { overflow: hidden; }

        & .flickity-button {
            background: var(--ac) !important;
            &:hover    { opacity: .85; }
            &:disabled { opacity: .3; }
        }

        & .flickity-button-icon { fill: #fff; }

        & .flickity-page-dots {
            bottom: -30px;
            & .dot { background: var(--ac); }
        }
    }

    & .cth-gv-cell {
        width: 50%;
        padding: 0 8px;
        box-sizing: border-box;

        @media (max-width: 849px) { width: 50%; }
        @media (max-width: 549px) { width: 80%; }
    }

    /* Teacher toggle — chỉ rotate + active state */
    & .cth-gv-toggle {
        & svg { transition: transform .25s; }
        &.open {
            background: var(--ac) !important;
            border-color: var(--ac) !important;
            color: #fff !important;
            & svg { transform: rotate(180deg); }
        }
    }

    & .cth-gv-bio[hidden] { display: none; }
}

/* Admin bar offset — ngoài .cth-wrap vì selector cha là body */
.admin-bar .cth-tabbar {
    @media (max-width: 782px) {
        top: calc(var(--cth-tab-top, 0px) + 0px);
    }
}
.cth-gv-slider {
	.cth-gv-cell {
		.box.has-hover {
		    display: flex;
		    flex-direction: row;
		    overflow: hidden;
		    .box-image {
			    flex: 0 0 35%;
			    max-width: 35%;
			}
			.box-text {
			    flex: 0 0 65%;
			    max-width: 65%;
			    text-align: left;
			    padding: 15px;
			    strong.box-title{
			    	font-size: 20px;
			    	font-weight: bold;
			    }
			}
		}
	}
	.flickity-button{
		opacity: 0.2;
	    width: 40px;
	    height: 40px;
	    border-radius: 99px;
		.flickity-prev-next-button {
		    width: 28px;
		    height: 28px;
		    background: rgba(0,0,0,0.5);
		    border-radius: 50%;
		}

		.flickity-button-icon {
	        width: 25px;
		    height: 25px;
		    fill: #FFF;
		    padding: 5px;
		}
		svg path{
			fill:#fff;
		}
	}
}
button.button.is-outline.is-xsmall.is-rounded.cth-gv-toggle {
    margin: 5px 0;
    font-size: 9px;
    color: #666;
    border:1px solid #666;
    border-radius:4px;
    &:hover{
    	color: #fff;
    }
}
.box.box-form {
	padding:10px 15px;
	border-radius: 5px;
	form.wpcf7-form.init{
		.wpcf7 label{
			font-size: 14px;
		}
		textarea.wpcf7-form-control.wpcf7-textarea{
			box-shadow: unset;
		    border: 1px solid #a1a1a1;
		   	font-size: 14px;
		   	border-radius: 5px;
		}
		input.wpcf7-form-control {
			border-radius:4px;
			&:not(.wpcf7-submit){
				box-shadow: unset;
		    	border: 1px solid #a1a1a1;
		    	min-height: 40px;
		    	font-size: 14px;
			}
		    
		    &.wpcf7-submit{
		    	margin: 5px auto 0;
		    	display: block;
		    }
		}
	}
}
form{
	color: var(--fs-color-base);
	label{
	color: var(--fs-color-base);
}
}

.sec_relative{
	.col .col-inner{
		background: #fff;
		border-radius: 10px;
	    box-shadow: 0 1px 3px -2px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
	}
	.box.has-hover.bg-white {
		
		.box-image {
			border-radius: 10px 10px 0 0;
			img{
				max-height: 260px;
				height: 100%;
				object-fit: cover;
			}
		}
		.box-text {
			h4{
				font-size: 16px;
				font-weight: bold;
				color: var(--color1);
			    overflow: hidden;
			    text-overflow: ellipsis;
			    line-height: 20px;
			    -webkit-line-clamp: 2;
			    height: 40px;
			    display: -webkit-box;
			    -webkit-box-orient: vertical;
			}
			.excerpt{
				font-size: 14px;
				color: var(--cl-text);
			    overflow: hidden;
			    text-overflow: ellipsis;
			    line-height: 20px;
			    -webkit-line-clamp: 3;
			    height: 60px;
			    display: -webkit-box;
			    -webkit-box-orient: vertical;
			}
			a.cfpa-read-more.read_mores{
				display: inline-block;
			    color: var(--color2);
			    text-decoration: none;
			    font-size: 13px;
			    font-weight: 600;
			    transition: color 0.2s;
			    margin-top: 10px;
			  	&:hover{
			  		color: var(--color1);
			  	}
			}
		}
	}
}
@media only screen and (max-width:550px){
	.title_headcenter span.section-title-main {
		font-size: 32px;
	}
	.title_left span.section-title-main{
		font-size: 32px;
	}
	.sec_chuongtrinhhoc .row_sliders .box .box-text .top_title h3, .sec_chuongtrinhhoc .row_sliders .box .box-text .top_title p{
		font-size: 20px;
	}
	.sec_form .title_headcenter span.section-title-main {
		font-size: 28px;
	} 
	.sec_review .rvdg  {
		.icon-box.testimonial-box {
			flex-direction: column;
			.icon-box-img.testimonial-image.circle {
			    width: 100% !important;
			    max-width: 100%;
			}
		}
	}
	.baner_cungcapgv .title_banner h2, .baner_cungcapgv .title_banner p{
		font-size: 28px;
	}
	.baner_cungcapgv .desc_dv p{
		font-size: 14px;
	}
	.sec_ccgv .row_lydo .icon-box.icon-box-left {
		.desc p, .desc ul li {
			font-size: 14px;
		}
	}
	
	.ecp-archive-layout {
		.ecp-thumb--sq {
			width: 115px;
			height: 95px;
		}
		.ecp-section-label{
			font-size: 32px;
		}
		.ecp-card-title a{
			font-size: 18px;
		}
		.ecp-col-right .ecp-card-title a{
			font-size: 16px;
		}
	}
	.form_laster_event {
		.ec-wrapper {
			display: block;
			.ec-grid{
				margin-bottom: 15px;
			}
		}
	}
	.ecp-section-header.ecp-section-header--other.row{
		margin-bottom: 0;
		.col.text-center{
			padding-bottom: 0;
		}
	}
	.admin-bar .cth-wrap .cth-tabbar {
	    top: calc(var(--cth-tab-top, 0px) - 31px);
	    width: 101vw;
	    margin-left: -15px;
	}
}
button#ecp-load-more {
    margin: 0;
    background: var(--color1);
    color: #fff;
    border-radius: 5px;
    text-transform: capitalize;
    font-size: 15px;
}
.form_laster_event{
	.form{
	    position: relative;
	    background: #fff;
	    border: 1px solid #2576b9;
	    box-sizing: border-box;
	    box-shadow: 4px 4px 0px rgba(96, 125, 139, .3);
	    border-radius: 10px;
	    overflow: hidden;
	    padding: 32px 24px 15px;
	    margin-top: 30px;
	    .title_form {
	    	text-align:center;
	    
	    	&:after{
			    position: absolute;
			    content: "";
			    width: 130%;
			    height: 260px;
			    top: -110px;
			    left: -15%;
			    z-index: 0;
			    background: #e15419;
			    border-radius: 50%;
	    	}
	    	img{
       	 	    text-align: center;
			    display: block;
			    margin: 0 auto 45px;
			    z-index: 24;
			    position: relative;
	   	 	}
	    }
	   	input.wpcf7-form-control.wpcf7-submit.has-spinner {
		    display: block;
		    margin: auto;
		}

		span.wpcf7-spinner {
		    display: none;
		}
		input, textarea {
		    box-shadow: unset !important;
		    border: 1px solid #cdcdcd !important;
		    border-radius: 5px !important;
		}
	}
}
@media only screen and (max-width: 1100px) and (min-width:550px){
	.title_headcenter span.section-title-main {
		font-size: 32px;
	}
	.title_left span.section-title-main{
		font-size: 32px;
	}
	.sec_chuongtrinhhoc .row_sliders .box .box-text .top_title h3, .sec_chuongtrinhhoc .row_sliders .box .box-text .top_title p{
		font-size: 20px;
	}
	.baner_cungcapgv .title_banner h2, .baner_cungcapgv .title_banner p{
		font-size: 28px;
	}
	.baner_cungcapgv .desc_dv p{
		font-size: 14px;
	}
	.sec_ccgv .row_lydo .icon-box.icon-box-left {
		.desc p, .desc ul li {
			font-size: 14px;
		}
	}
	.ecp-section-header.ecp-section-header--other.row{
		margin-bottom: 0;
		.col.text-center{
			padding-bottom: 0;
		}
	}
	.admin-bar .cth-wrap .cth-tabbar {
	    top: calc(var(--cth-tab-top, 0px) - 31px);
	    width: 101vw;
	    margin-left: -15px;
	}
	.cth-wrap .cth-sidebar {
		    flex-direction: row;
	}
}
@media only screen and (max-width:850px){
	.cth-wrap .cth-tabbar .cth-nav .cth-nav-btn {
		margin-right: 0;
	}
	.cth-wrap .cth-acc-group .cth-acc-label{
		font-size: 14px;
	}

}
@media only screen and (max-width:550px) {
	.cth-wrap .cth-gv-cell  {
		width:100%;
	}
	.cth-gv-slider .cth-gv-cell .box.has-hover .box-text strong.box-title{
		font-size:18px;
	}
}
.cth-wrap .cth-gv-slider .flickity-page-dots {
	bottom: -15px;
	.dot{
		border:3px solid var(--color1);
	}
}
.sec_form {
	.row_headcenter {
		background: var(--color2) !important;
		border-radius: 20px;
		.title_headcenter{
			margin-top: 20px;
			margin-bottom: 20px !important;
		}
	}
}
div#boxCTA{
	border-radius: 20px;
	form.wpcf7-form.init{
		.wpcf7 label{
			font-size: 14px;
		}
		textarea.wpcf7-form-control.wpcf7-textarea{
			box-shadow: unset;
		    border: 1px solid #a1a1a1;
		   	font-size: 14px;
		   	border-radius: 5px;
		}
		input.wpcf7-form-control {
			border-radius:4px;
			&:not(.wpcf7-submit){
				box-shadow: unset;
		    	border: 1px solid #a1a1a1;
		    	min-height: 40px;
		    	font-size: 14px;
			}
		    
		    &.wpcf7-submit{
		    	margin: 5px auto 0;
		    	display: block;
		    }
		}
	}
}
.form_ldangky select {
    width: 100%;
    height: 48px;
    padding: 0 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    color: var(--cl-text); /* mặc định màu placeholder */
    background: #fff;
}

/* Khi đã chọn option khác */
.form_ldangky select.wpcf7-validates-as-required:not([value=""]) {
    color: var(--cl-text);
}

/* Dropdown */
.form_ldangky option {
   color: var(--cl-text);
}

/* Placeholder */
.form_ldangky option:first-child {
   color: var(--cl-text);
}
.lang-polylang {
		a {
		font-weight: 400;
		font-size: 16px;
		line-height: 40px;
		text-transform: uppercase;
		color: var(--cl-text);
		 &.is-active {
		 	font-weight:bold;
		 	color:var(--primary-color);
		 }
	}
	span.lang-polylang__sep {
	    margin: 0 10px;
	    font-size: 16px;
	}
}
.cth-gv-vertical {
    display: flex;
    align-items: stretch;
    gap: 18px;
    padding: 14px;
    border-radius: 14px;
    background: #fff;
}

.cth-gv-img {
    width: 150px;
    min-width: 120px;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 12px;
    background: #f5ede8;
}

.cth-gv-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.cth-gv-vertical:hover .cth-gv-img img {
    transform: scale(1.04);
}

.cth-gv-placeholder {
    width: 100%;
    height: 100%;
    background: #f5ede8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    font-weight: 800;
    color: var(--ac);
}

.cth-gv-content {
    flex: 1;
    min-width: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cth-gv-name {
    display: block;
    font-size: 18px;
    line-height: 1.35;
    margin-bottom: 6px;
}

.cth-gv-country {
    font-size: 14px;
    margin-bottom: 10px;
    opacity: .75;
}

.cth-gv-toggle {
    width: fit-content;
    margin: 0 0 10px;
}

.cth-gv-bio {
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,.08);
}

.cth-gv-bio .entry-content {
    font-size: 13px;
    line-height: 1.6;
}

.cth-gv-bio p {
    font-size: 13px;
    margin: 0;
}

.cth-gv-bio[hidden] {
    display: none !important;
}

@media (max-width: 549px) {
    .cth-gv-vertical {
        gap: 12px;
        padding: 12px;
    }

    .cth-gv-img {
        width: 140px;
        min-width: 140px;
    }

    .cth-gv-name {
        font-size: 16px;
    }
}
option[value="chuong-trinh-hoc"] , option[value="curriculum"]{
    display: none;
}
.imgscale {
	img{
		object-fit: scale-down;
	}
}
.iteach-post-after-title {
	.flex {
		font-size:16px;
		.text {
			margin-right: 5px;
		}
		.social {
			a{
				i{
					font-size: 24px;
					margin: 0 5px;
				}
				&.facebook i{
					color: #1877F2;
				}
				&.youtube i{
					color: #FF0000;
				}
			}
		}
	}
}
form.wpcf7-form.init ::placeholder {
    color: var(--fs-color-base);
}
.single{
	.entry-content.single-page {
		p{
			margin-bottom: 10px;
		}
	}
}
.row_hocvien {
	.row_sliders .rvdg{
		.col-inner {
			border-radius: 10px;
			border: 2px solid var(--color2);
			background: var(--color2);
			.box-image{
				img{
					border-radius: 10px 10px 0 0;
				}
			}
			.box-text {
				color:#fff;
				p{
					color: #fff;
					font-size: 14px;
				}
				.names p{
					font-size: 18px;
				}
			}
		}
	}
}
.layout_postnew {
	.col_category_all {
		margin-top: 45px;
	}
	ul.blog-menu-list {
		ul {
			margin:0 !important;
		}
		li{
			margin-left: 0;
			list-style:none;
			border-bottom:1px solid var(--color2);
			margin-bottom:15px;
			padding-bottom:15px;
			a{
				font-size: 24px;
				font-weight: bold;
				color: var(--cl-text);
			}
			&.active,&:hover{
				opacity: 1 !important;
			}
			&:not(.active){
				opacity: 0.8;
			}
		}
	}
}
.layout_postnew {
	div#post-list .phantrang{
		display: flex;
	   justify-content: center;
	    align-items: center;
	    gap: 8px;
	    margin: 40px 0 30px;
	    padding: 15px 0;
	    flex-wrap: wrap;
	    position: relative;
		.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: 10px;
    background: #f8f9fa;
    color: var(--color-text, #2c3e50);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
    line-height: 1;
    position: relative;
}
.page-numbers:not(.current):hover {
    background: var(--color-background, #e8edf2);
    color: var(--color2);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    border-color: var(--color2);
}
.page-numbers.current {
    background: var(--color2);
    color: #ffffff;
    border-color: var(--color2);
    font-weight: 700;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
    transform: scale(1.05);
    cursor: default;
}


	}
}
@keyframes pulse-ring {
    0% {
        transform: scale(1);
        opacity: 0.4;
    }
    50% {
        transform: scale(1.2);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 0.4;
    }
}

/* Nút Prev / Next */
.phantrang .page-numbers.prev,
.phantrang .page-numbers.next {
    min-width: 50px;
    padding: 0 16px;
    font-weight: 700;
    background: #ffffff;
    border: 2px solid var(--color-border, #e8edf2);
    font-size: 16px;
    color: var(--color-text, #2c3e50);
    gap: 6px;
}

.phantrang .page-numbers.prev:hover,
.phantrang .page-numbers.next:hover {
    background: var(--color2);
    border-color: var(--color2);
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}




.phantrang .page-numbers.prev:hover::before {
    transform: translateX(-3px);
}

.phantrang .page-numbers.next:hover::after {
    transform: translateX(3px);
}

/* Ẩn text mặc định của prev/next nếu có */
.phantrang .page-numbers.prev .nav-text,
.phantrang .page-numbers.next .nav-text {
    display: none;
}

