/*
Theme Name: CPE
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
:root {
  /* Màu chính và biến thể  - Dùng cho nút bấm, header, và link*/ 
  --color-primary: var(--primary-color);
  --color-primary-light: #416abf;
  --color-primary-dark: #0f306e;

  /* Màu phụ - Tạo điểm nhấn cho các chi tiết hoặc call-to-action*/ 
  --color-secondary: #f59e0b;
  --color-secondary-light: #fbbc56;
  --color-secondary-dark: #c27807;

  /* Màu trung tính - Sử dụng cho background, text, và border*/ 
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-100: #f4f4f4;
  --color-gray-300: #d1d5db;
  --color-gray-500: #9ca3af;
  --color-gray-700: #4b5563;
  --color-gray-900: #1f2937;

  /* Màu trạng thái - Giúp giao diện trở nên trực quan hơn khi báo lỗi hoặc thông báo */ 
  --color-success: #22c55e;
  --color-success-dark: #15803d;
  --color-error: #ef4444;
  --color-error-dark: #b91c1c;
  --color-warning: #f59e0b;
  --color-warning-dark: #d97706;
  --color-info: #0ea5e9;
  --color-info-dark: #0369a1;

  /* Gradient */
  --color-gradient-primary: linear-gradient(135deg, #1a4797, #416abf);
  --color-gradient-secondary: linear-gradient(135deg, #f59e0b, #fbbc56);
}
	
.term-description ul{
	margin-left: 2em;
    margin-top: 1em;
}
.term-description li{
	margin-bottom: 4px;
}
#mega_menu {
    padding: 0px 0px;
}
#mega_menu li a {
    padding: 7px 15px;
    display: block;
    font-size: 16px;
    padding-left: 10px;
}
#product-sidebar .icon-box {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}
#product-sidebar .icon-box:last-child {
    border-bottom: 0px;
}
.info_box .col-inner:before {
    float: left;
    content: "";
    font-family: "FontAwesome";
    font-size: 38px;
	line-height: 48px;
    padding-right: 10px;
    color: #0095d6;
}
.info_box .box1 .col-inner:before {
    content: "\f0d1";
}
.info_box .box2 .col-inner:before {
    content: "\f021";
}
.info_box .box3 .col-inner:before {
    content: "\f095";
}
.footer-menu .menu-item:before {
    content: "\f054";
    font-family: "FontAwesome";
    position: absolute;
    left: 0;
    top: 12px;
    font-size: 11px;;
}
#header.header.has-sticky .header-wrapper.stuck #mega_menu:not(.active) {
    /*display: block!important;*/
}
.accordion .accordion-item {
    border-radius: 5px;
    border: 1px solid #dee0df;
    margin-bottom: 10px;
    overflow: hidden;
}
.accordion .accordion-item .accordion-title {
    font-size: 100%;
    padding: 8px 10px;
    background: #fff;
    border-top: none;
}
.accordion .accordion-item .accordion-title.active {
    border-bottom: dashed 1px #c4c7c6;
}
.accordion .accordion-item .accordion-title .toggle {
    top: 0;
    left: auto;
    right: 0;
}
.accordion .accordion-item .accordion-inner {
    font-size: 100%;
    padding: 10px;
    background: #fbfbfb;
}
.check-list .col-inner {
    border-radius: 5px;
    border: 1px solid #ddd;
}
.check-list h3 {
    padding: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
    background: #eff7f4;
    text-align: center;
    font-weight: 600;
    color: #015027;
}
.check-list ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.check-list ul li {
    padding-left: 35px;
    line-height: 22px;
    margin-bottom: 15px;
    position: relative;
    color: #454141;
}
.check-list ul li:before {
    position: absolute;
    top: -2px;
    left: 0;
    content: "";
    width: 20px;
    height: 22px;
    background: url(images/bg-li2.png) left no-repeat;
    /*font-family: 'fl-icons'!important;
    content: "\e00a";
    color: #019d32;*/
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}

/*************** Thu gọn nội dung phần mô tả  ***************/
.tax-product_cat.woocommerce .shop-container .term-description {
	overflow: hidden;
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 25px;
}
.single-product div#tab-description {
	overflow: hidden;
	position: relative;
	padding-bottom: 25px;
}
.single-product .tab-panels div#tab-description.panel:not(.active) {
	height: 0 !important;
}
.readmore_flatsome {
	text-align: center;
	cursor: pointer;
	position: absolute;
	z-index: 10;
	bottom: 0;
	width: 100%;
	background: #fff;
}
.readmore_flatsome:before {
	height: 55px;
	margin-top: -45px;
	content: -webkit-gradient(linear,0% 100%,0% 0%,from(#fff),color-stop(.2,#fff),to(rgba(255,255,255,0)));
	display: block;
}
.readmore_flatsome a {
	color: #318A00;
	display: block;
}
.readmore_flatsome a:after {
	content: '';
	width: 0;
	right: 0;
	border-top: 6px solid #318A00;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	display: inline-block;
	vertical-align: middle;
	margin: -2px 0 0 5px;
}
.readmore_flatsome_less a:after {
	border-top: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #318A00;
}
.readmore_flatsome_less:before {
	display: none;
}


/*************** Thêm phần khuyến mại cho sản phẩm đang xem  ***************/
.product-main .khuyen-mai {
    background: #fdfdfd;
    border: 1px solid #e6e6e6;
    border-radius: 3px;
    padding: 10px;
    margin-bottom: 15px;
}
.product-main .khuyen-mai h2{
	margin-bottom: 10px;
    font-size: 22px;
    color: #d7202c;
}
.product-main .khuyen-mai ul{
	margin-bottom: 0px;
}
.product-main .khuyen-mai li{
	padding-left: 10px;
    list-style: none;
    font-size: 14px;
    margin-bottom: 4px;
}
.product-main .khuyen-mai li:before {
    position: absolute;
    font-family: FontAwesome;
    font-size: 20px;
	content: "\f058";
    color: #3fb846;
    margin-left: -28px;
    float: left;
}
.product-main .khuyen-mai .fa-tada {
    -webkit-animation: tada 2s linear infinite;
    animation: tada 2s linear infinite;
}


/*************** Start of Desktop Call Button Style  ***************/
.quick-alo-background,
.quick-alo-ph-circle,
.quick-alo-ph-circle-fill,
.quick-alo-ph-img-circle{
    background-color: #c32f45;
	border-color:#c32f45;
}
.call-now-button:hover .quick-alo-background,
.call-now-button:hover .quick-alo-ph-circle,
.call-now-button:hover .quick-alo-ph-circle-fill,
.call-now-button:hover .quick-alo-ph-img-circle{
    background-color:#e84c3d;
	border-color:#e84c3d;
}
.call-now-button {
    height: 50px;
    margin: 0 auto;
    position: fixed;
	left: 20px;
    bottom: 20px;
    border-radius: 50px;
    z-index: 9999;
}
@media screen and (max-width: 767px) { 
	.call-now-button{ display: none !important; } 
}
.call-now-button a {
    text-decoration: none!important;
}
.call-now-button .quick-alo-background {
    opacity: 0.68;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 50px;
}
.call-now-button .call-text {
    color: #fff;
    display: table;
    padding: 10px;
    height: 34px;
    line-height: 14px;
    font-size: 14px;
    margin: 8px 5px 8px 50px;
    text-transform: uppercase;
    font-weight: bolder;
    text-align: center;
    box-sizing: border-box;
    position: relative;
}
.quick-alo-ph-circle {
    width:130px;
    height:130px;
    top:-42px;
    left:-42px;
    position:absolute;
    background-color:transparent!important;
    border-radius:100% !important;
    border-style: solid;
    border-width: 2px;
    opacity:.1;
    -webkit-animation:quick-alo-circle-anim 1.2s infinite ease-in-out;
    animation:quick-alo-circle-anim 1.2s infinite ease-in-out;
    transition:all .5s;
    -webkit-transform-origin:50% 50%;
    -ms-transform-origin:50% 50%;
    transform-origin:50% 50%
}
.call-now-button:hover .quick-alo-ph-circle {
    -webkit-animation:quick-alo-circle-anim 1.1s infinite ease-in-out!important;
    animation:quick-alo-circle-anim 1.1s infinite ease-in-out!important
}
.call-now-button .quick-alo-ph-circle {
    -webkit-animation:quick-alo-circle-anim 2.2s infinite ease-in-out!important;
    animation:quick-alo-circle-anim 2.2s infinite ease-in-out!important
}
.quick-alo-ph-circle,.call-now-button:hover .quick-alo-ph-circle {
    opacity:.5
}
.quick-alo-ph-circle-fill {
    width:84px;
    height:84px;
    top:-17px;
    left:-17px;
    position:absolute;
    border-radius:100% !important;
    border:2px solid transparent;
    -webkit-animation:quick-alo-circle-fill-anim 2.3s infinite ease-in-out;
    animation:quick-alo-circle-fill-anim 2.3s infinite ease-in-out;
    transition:all .5s;
    -webkit-transform-origin:50% 50%;
    -ms-transform-origin:50% 50%;
    transform-origin:50% 50%
}
.call-now-button:hover .quick-alo-ph-circle-fill {
    -webkit-animation:quick-alo-circle-fill-anim 1.7s infinite ease-in-out!important;
    animation:quick-alo-circle-fill-anim 1.7s infinite ease-in-out!important
}
.call-now-button .quick-alo-ph-circle-fill {
    -webkit-animation:quick-alo-circle-fill-anim 2.3s infinite ease-in-out!important;
    animation:quick-alo-circle-fill-anim 2.3s infinite ease-in-out!important;
    opacity:0!important
}
.call-now-button:hover .quick-alo-ph-circle-fill {
    opacity:.75!important
}
.quick-alo-ph-img-circle {
    width:50px;
    height:50px;
    top:0px;
    left:0px;
    position:absolute;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAolBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8ELnaCAAAANXRSTlMA/fnwB9f2sUzq5dLDrDUi+t27jWpmXzALBOHNtJ6Dd1hUR0I9OB8Cx5mSiH1wGxkWEaWjUGLgVpsAAAFWSURBVDjLdZPpkoIwEIQn4RIFFA+8EURBXY+98v6vtrkYki38fqWmO0yqZwCDJjnsvHASbuPsC3oYjBhC4vF/+RwRxhwHLTRfm/I4IL4WkcA19CHrIVqB5pmqSjixHVetf3pMcnkVxHYMpL7Sr9/zngvbkDYAbZFs5JumtuMXOKrB8AMER9swFfno8wIkI8vg8zAifT4IebmjzGIJY/Nrruczmww7UN/lBoaJYeO5PjnshC8wmKOB58ANyYTZFFDq+5xKDHUjxvSDT60h6QypGM76nNU8/ZnSh7wirugR3KAjl5WYn4RX7wJ5QEfUhvN0ZAvFHfWEqJw4c2YgJyIjUx0Ezc50XOSl9U2Gpzd3JdwI2eaPu6rMcOFZLyH+HftenRSgedE+nZbQMuvT/SPqtRrQ9krM/icl4hpGA4AKl2GUudDxzbdJ+d0ySCn14gosgiCB9/wB7hZ8KfMqBEkAAAAASUVORK5CYII=");
	background-repeat: no-repeat;
    background-size: 32px 32px;
	background-position: center center;
	border-radius:100% !important;
    border:2px solid transparent;
    -webkit-animation:quick-alo-circle-img-anim 1s infinite ease-in-out;
    animation:quick-alo-circle-img-anim 1s infinite ease-in-out;
    -webkit-transform-origin:50% 50%;
    -ms-transform-origin:50% 50%;
    transform-origin:50% 50%
}
.quick-alo-phone:hover .quick-alo-ph-img-circle {
    -webkit-animation:quick-alo-circle-img-anim 1s infinite ease-in-out!important;
    animation:quick-alo-circle-img-anim 1s infinite ease-in-out!important
}

@-webkit-keyframes quick-alo-circle-anim{0%{-webkit-transform:rotate(0) scale(.5) skew(1deg);-webkit-opacity:.1}30%{-webkit-transform:rotate(0) scale(.7) skew(1deg);-webkit-opacity:.5}100%{-webkit-transform:rotate(0) scale(1) skew(1deg);-webkit-opacity:.1}}@-webkit-keyframes quick-alo-circle-fill-anim{0%{-webkit-transform:rotate(0) scale(.7) skew(1deg);opacity:.2}50%{-webkit-transform:rotate(0) scale(1) skew(1deg);opacity:.2}100%{-webkit-transform:rotate(0) scale(.7) skew(1deg);opacity:.2}}@-webkit-keyframes quick-alo-circle-img-anim{0%{-webkit-transform:rotate(0) scale(1) skew(1deg)}10%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg)}20%{-webkit-transform:rotate(25deg) scale(1) skew(1deg)}30%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg)}40%{-webkit-transform:rotate(25deg) scale(1) skew(1deg)}50%{-webkit-transform:rotate(0) scale(1) skew(1deg)}100%{-webkit-transform:rotate(0) scale(1) skew(1deg)}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes quick-alo-circle-anim{0%{-webkit-transform:rotate(0) scale(.5) skew(1deg);transform:rotate(0) scale(.5) skew(1deg);opacity:.1}30%{-webkit-transform:rotate(0) scale(.7) skew(1deg);transform:rotate(0) scale(.7) skew(1deg);opacity:.5}100%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg);opacity:.1}}@keyframes quick-alo-circle-anim{0%{-webkit-transform:rotate(0) scale(.5) skew(1deg);transform:rotate(0) scale(.5) skew(1deg);opacity:.1}30%{-webkit-transform:rotate(0) scale(.7) skew(1deg);transform:rotate(0) scale(.7) skew(1deg);opacity:.5}100%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg);opacity:.1}}@-webkit-keyframes quick-alo-circle-fill-anim{0%{-webkit-transform:rotate(0) scale(.7) skew(1deg);transform:rotate(0) scale(.7) skew(1deg);opacity:.2}50%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg);opacity:.2}100%{-webkit-transform:rotate(0) scale(.7) skew(1deg);transform:rotate(0) scale(.7) skew(1deg);opacity:.2}}@keyframes quick-alo-circle-fill-anim{0%{-webkit-transform:rotate(0) scale(.7) skew(1deg);transform:rotate(0) scale(.7) skew(1deg);opacity:.2}50%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg);opacity:.2}100%{-webkit-transform:rotate(0) scale(.7) skew(1deg);transform:rotate(0) scale(.7) skew(1deg);opacity:.2}}@-webkit-keyframes quick-alo-circle-img-anim{0%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg)}10%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg);transform:rotate(-25deg) scale(1) skew(1deg)}20%{-webkit-transform:rotate(25deg) scale(1) skew(1deg);transform:rotate(25deg) scale(1) skew(1deg)}30%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg);transform:rotate(-25deg) scale(1) skew(1deg)}40%{-webkit-transform:rotate(25deg) scale(1) skew(1deg);transform:rotate(25deg) scale(1) skew(1deg)}50%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg)}100%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg)}}@keyframes quick-alo-circle-img-anim{0%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg)}10%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg);transform:rotate(-25deg) scale(1) skew(1deg)}20%{-webkit-transform:rotate(25deg) scale(1) skew(1deg);transform:rotate(25deg) scale(1) skew(1deg)}30%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg);transform:rotate(-25deg) scale(1) skew(1deg)}40%{-webkit-transform:rotate(25deg) scale(1) skew(1deg);transform:rotate(25deg) scale(1) skew(1deg)}50%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg)}100%{-webkit-transform:rotate(0) scale(1) skew(1deg);transform:rotate(0) scale(1) skew(1deg)}}
/*************** End of Desktop Call Button Style  ***************/


#post-grid.grid-layout{
	padding-top: 10px;
}
.portfolio-archive .page-wrapper{
    padding-top: 0px;
}

.blog-archive {
    padding-bottom: 20px;
    padding-top: 20px;
}
.blog-archive .breadcrumbs,
.post.type-post .breadcrumbs,
.portfolio-archive .breadcrumbs,
.featured_item .breadcrumbs,
.page-wrapper .breadcrumbs{
    margin-bottom: 20px;
}

.home-categories .product-categories {
    display: grid;
	gap: 30px;
    margin-top: -96px;
    grid-template-columns: repeat(3, 1fr);
}

.home-categories .product-column {
    position: relative;
	background: var(--color-white);
    padding: 0px;
	margin-top: 15px;
	overflow: hidden;
}

.home-categories .product-column h3 {
    margin: 0 0 15px 0;
    padding: 15px 15px 5px;
    background: transparent;
    font-size: 18px;
	text-transform: uppercase;
    font-weight: 600;
    border-left: 3px solid rgb(24, 71, 151);
    border-top: 3px solid rgb(24, 71, 151);
}
.home-categories .product-column h3 a{
    color: var(--color-primary);
}
.home-categories .product-column ul {
    list-style: none;
    padding: 0 20px;
    margin: 0;
}

.home-categories .product-column ul li {
    margin: 0 0 5px 0; 
}

.home-categories .product-column li a {
    display: block;
    color: var(--color-white); 
    text-decoration: none;
    padding: 12px 20px;
    background: var(--color-primary-light);
    font-size: 14px;
    transition: all 0.3s ease;
}

.home-categories .product-column li a:hover {
    background: var(--color-primary-dark); 
    color: #fff;
}
.home-categories .product-column h3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: #4472c4 transparent transparent transparent;
    z-index: 1;
}

.home-categories .product-column::after {
    content: '';
    position: absolute;
    top: 20px;
    left: -2px;
    width: 35px;
    height: 2px;
    background: rgb(24, 71, 151); 
    transform: rotate(-45deg);
    transform-origin: top left;
    z-index: 2;
}

@media (max-width: 992px) {
    .home-categories .product-categories {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .home-categories .product-categories {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* Slider styles */
.home-categories .product-categories.slider-wrapper {
    display: block;
}

.home-categories .product-categories.slider-wrapper .slick-slide {
    padding: 0 15px;
}

.home-categories .product-categories.slider-wrapper .slick-dots {
    margin: 20px 0 0;
}



/* Box List Style */
.home-news .box-list {
    margin-bottom: 0.8em;
    padding: 8px 15px;
    transition: all 0.3s ease;
    border-bottom: 1px solid #eee;
}

.home-news .box-list:hover {
    background: rgba(0,0,0,0.02);
}

.home-news .box-list-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
}
.home-news .post-item {
    padding: 0px;
}
.home-news .post-item:last-child .box-list {
    border-bottom: none;
}

/* Date Style */
.home-news .post-date {
    min-width: 100px;
    flex: 0 0 100px;
    color: var(--color-primary-light);
    font-size: 14px;
    text-align: left;
}

/* Category Style */
.home-news .post-category {
    min-width: 210px;
    flex: 0 0 210px;
    text-align: left;
	font-size:14px;
}
.home-news .category-label {
    display: inline-block;
    padding: 3px 12px;
    background: var(--color-primary-light);
    color: var(--color-white);
}

/* Title Style */
.home-news .post-title {
    flex: 1;
    min-width: 0; 
	display: flex;
    align-items: center;
	text-align: left;
}

.home-news .post-title h5 {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    font-weight: normal;
    color: var(--color-primary-light);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
.home-news .post-title h5 a{
    color: var(--color-primary-light);
}

.home-news .post-title a:hover h5 {
    color: #4080ff;
}

/* Responsive Styles */
@media screen and (max-width: 849px) {
    .home-news .box-list {
        padding: 10px;
    }
    
    .home-news .box-list-row {
        gap: 15px;
    }

    .home-news .post-date {
        min-width: 90px;
        flex: 0 0 90px;
        font-size: 13px;
    }

    .home-news .post-category {
        min-width: 100px;
        flex: 0 0 100px;
    }
}

@media screen and (max-width: 549px) {
    .home-news .box-list-row {
        flex-wrap: wrap;
        gap: 8px;
    }

    .home-news .post-date {
        min-width: auto;
        flex: 0 0 auto;
        font-size: 12px;
    }

    .home-news .post-category {
        min-width: auto;
        flex: 1;
        text-align: right;
    }

    .home-news .post-title {
        flex: 0 0 100%;
        order: 3;
    }

    .home-news .post-title h5 {
        font-size: 14px;
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .home-news .category-label {
        padding: 2px 8px;
        font-size: 12px;
    }
}


.archive-page-header{
	width: 100%;
    margin-bottom: 1em;
}
.archive-page-header p{
	margin-bottom: 0;
}

.portfolio-element-wrapper .nav-left > li a.active::after{
	background: initial;
}