/*
Theme Name: HuyDev Theme
Theme URI: https://huydev.vn
Author: HuyDev
Description: Theme thuan tay cho S.O.S Sữa Mẹ
Version: 1.0
Text Domain: huydev
*/

@media screen{
    /*
    * FONT FACE.
    */
    @font-face{
        font-family: 'Quicksand';
        src: url('fonts/Quicksand-Regular.woff2') format('woff2');
        font-weight: 400;
        font-style: normal;
        font-display: swap;
    }
    @font-face{
        font-family: 'Quicksand';
        src: url('fonts/Quicksand-SemiBold.woff2') format('woff2');
        font-weight: 600;
        font-style: normal;
        font-display: swap;
    }
    @font-face{
        font-family: 'Pacifico';
        src: url('fonts/Pacifico-Regular.woff2') format('woff2');
        font-weight: 400;
        font-style: normal;
        font-display: swap;
    }

    /*
    * ROOT VARIABLES.
    */
    :root{
        --th-color-main: #1D6887;
        --th-color-header: #1D6887;
        /*--th-color-peach: #fe840c;*/
        --th-color-peach: #FFD3AD;
        --th-color-dark: #2d5a06;
        --th-color-darker: #0C2A36;
        --th-color-gray: #6c8f4f;
        /*--th-color-light: #f2f7cf;*/
        --th-color-light: #cff1b3;
        --th-color-bg: #e8f1e1;
        --th-color-white: #FFFFFF;
        --th-font-main: 'Quicksand',sans-serif;
        --th-font-title: 'Pacifico',cursive;
        --th-thumb-ratio: 150%;
        --th-product-ratio: 100%;
    }

    /*
    * RESET.
    */
    *{
        margin: 0px;
        padding: 0px;
    }
    body{
        font-family: var(--th-font-main);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        color: var(--th-color-dark);
        background: var(--th-color-bg);
        overflow-x: hidden;
    }
    img{
        max-width: 100%;
        height: auto;
        vertical-align: middle;
        border: 0px;
    }
    a{
        color: inherit;
        text-decoration: none;
        transition: all 0.3s ease;
    }
    a:hover{
        color: var(--th-color-main);
    }
    ul, ol{
        list-style: none;
    }
    h1, h2, h3, h4, h5, h6{
        font-weight: 700;
        line-height: 1.5;
        color: var(--th-color-dark);
    }
    blockquote{
        quotes: none;
    }
    input, textarea, select, button{
        font-family: var(--th-font-main);
        font-size: 16px;
        outline: none;
    }
    ::-webkit-scrollbar{
        width: 10px;
        height: 4px;
        background-color: var(--th-color-bg);
    }
    ::-webkit-scrollbar-track{
        background-color: var(--th-color-bg);
    }
    ::-webkit-scrollbar-thumb{
        background-color: var(--th-color-main);
        border-radius: 16px;
        border: 2px solid var(--th-color-bg);
    }

    /*
    * UTILITY.
    */
    .container{
        position: relative;
        width: 1290px;
        margin: 0px auto;
        padding: 0px 15px;
        box-sizing: border-box;
    }
    .fleft{
        float: left;
    }
    .fright{
        float: right;
    }
    .cboth{
        clear: both;
    }
    .bsize{
        box-sizing: border-box;
    }
    .center{
        text-align: center;
    }
    .tf{
        font-family: var(--th-font-title);
        font-weight: 400;
    }
    .thumb-cover{
        display: block;
        overflow: hidden;
        position: relative;
    }
    .thumb-cover img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .thumb-zoom img{
        transition: all 0.5s ease;
    }
    .thumb-zoom:hover img{
        transform: scale(1.08);
    }
    .empty-content{
        padding: 30px 0px;
        color: var(--th-color-gray);
    }
    .block-item{
        position: relative;
    }
    .block-item-title{
        margin: 0px;
    }

    /*
    * HEADER.
    */
    .header{
        background: var(--th-color-header);
        padding: 5px 0px;
        position: relative;
        z-index: 30;
    }
    .header-logo{
        display: block;
        width: 79px;
        margin-right: 15px;
    }
    .header-slogan{
        max-width: 225px;
        margin-top: 16px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        text-transform: uppercase;
        color: var(--th-color-white);
    }
    .header-slogan:hover{
        color: var(--th-color-peach);
    }
    .header-right{
        padding-top: 22px;
    }
    .header-menu{
        background: var(--th-color-light);
        padding: 2px 10px;
        border-radius: 14px;
        margin-top: -6px;
    }
    .header-menu-list > li{
        float: left;
        position: relative;
    }
    .header-menu-list > li > a{
        display: block;
        padding: 11px 12px;
        font-size: 16px;
        font-weight: 700;
        color: var(--th-color-dark);
        position: relative;
    }
    .header-menu-list > li > a:after{
        content: '';
        width: calc(100% - 24px);
        height: 2px;
        background: var(--th-color-main);
        position: absolute;
        left: 12px;
        bottom: 2px;
        transform: scaleX(0);
        transition: all 0.3s ease;
    }
    .header-menu-list > li:hover > a:after,
    .header-menu-list > li.current-menu-item > a:after{
        transform: scaleX(1);
    }
    .header-menu-list li ul{
        min-width: 200px;
        background: var(--th-color-dark);
        box-shadow: 0px 2px 13px 0px rgba(0,0,0,0.1);
        position: absolute;
        top: 100%;
        left: 0px;
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s ease;
        z-index: 10;
    }
    .header-menu-list li:hover > ul{
        visibility: visible;
        opacity: 1;
    }
    .header-menu-list li ul li a{
        display: block;
        padding: 12px 15px;
        font-size: 12px;
        color: var(--th-color-bg);
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .header-menu-list li ul li a:hover{
        color: var(--th-color-white);
        background: var(--th-color-darker);
    }
    .header-search{
        margin-left: 15px;
    }
    .header-search-open{
        display: block;
        padding: 8px;
        font-size: 18px;
        color: var(--th-color-white);
        cursor: pointer;
    }
    .header-search-open:hover{
        color: var(--th-color-peach);
    }
    .header-social{
        margin-left: 10px;
        padding-top: 3px;
    }
    .header-social a{
        display: inline-block;
        width: 32px;
        height: 32px;
        margin-left: 6px;
        font-size: 14px;
        line-height: 32px;
        text-align: center;
        color: var(--th-color-dark);
        background: var(--th-color-light);
        border-radius: 36%;
    }
    .header-social a:hover{
        background: var(--th-color-peach);
    }
    .header-mobile-open{
        display: none;
        width: 42px;
        padding: 9px 10px;
        margin-left: 10px;
        background: var(--th-color-light);
        border-radius: 30%;
        cursor: pointer;
        box-sizing: border-box;
    }
    .header-mobile-open span{
        display: block;
        height: 2px;
        margin: 4px 0px;
        background: var(--th-color-dark);
    }

    /*
    * POPUP SEARCH.
    */
    .popup-search{
        background: var(--th-color-light);
        position: fixed;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s ease;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .admin-bar .popup-search{
        top: 32px;
        height: calc(100% - 32px);
    }
    .popup-search.active{
        visibility: visible;
        opacity: 1;
    }
    .popup-search-inner{
        width: 800px;
        max-width: 90%;
    }
    .popup-search-close{
        position: absolute;
        top: 10px;
        right: 30px;
        display: block;
        font-size: 26px;
        text-align: right;
        color: #000;
        cursor: pointer;
    }
    .popup-search-close i{
        font-weight: 300 !important;
    }
    .popup-search form{
        position: relative;
    }
    .popup-search input[type="search"],
    .popup-search input[type="text"]{
        width: 100%;
        padding: 20px 60px 20px 20px;
        background: var(--th-color-white);
        border: 1px solid #000;
        border-radius: 3px;
        font-size: 18px;
        box-sizing: border-box;
        background-color: var(--th-color-bg);
        box-shadow: 5px 5px 0px var(--th-color-darker);
    }
    .popup-search button,
    .popup-search input[type="submit"]{
        padding: 0px 20px;
        color: var(--th-color-darker);
        background: transparent;
        border: 0px;
        border-radius: 0px;
        cursor: pointer;
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
    }
    .popup-search button:hover,
    .popup-search input[type="submit"]:hover{
        color: var(--th-color-main);
    }

    /*
    * MOBILE MENU.
    */
    .mobile-menu{
        width: 300px;
        max-width: 85%;
        padding: 60px 20px 20px;
        background: var(--th-color-dark);
        box-sizing: border-box;
        overflow-y: auto;
        position: fixed;
        top: 0px;
        right: -320px;
        bottom: 0px;
        transition: all 0.3s ease;
        z-index: 120;
    }
    .mobile-menu.active{
        right: 0px;
    }
    .mobile-menu-close{
        font-size: 26px;
        color: var(--th-color-white);
        cursor: pointer;
        position: absolute;
        top: 15px;
        right: 20px;
    }
    .mobile-menu-list li a{
        display: block;
        padding: 12px 0px;
        font-size: 15px;
        font-weight: 600;
        color: var(--th-color-white);
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .mobile-menu-list li a:hover{
        color: var(--th-color-peach);
    }
    .mobile-menu-list li ul{
        padding-left: 15px;
    }
    .mobile-menu-overlay{
        background: rgba(12,42,54,0.6);
        position: fixed;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s ease;
        z-index: 110;
    }
    .mobile-menu-overlay.active{
        visibility: visible;
        opacity: 1;
    }

    /*
    * BLOCK HOME HERO.
    */
    .block-content-flex{
        display: flex;
        flex-flow: row wrap;
    }
    .block-home-hero{
        background: var(--th-color-bg);
        padding: 30px 0px 25px;
        padding-top: 150px;
    }
    .home-hero-left{
        width: 45%;
        padding-right: 20px;
        /*padding-top: 60px;*/
        display: flex;
        align-items: center;
    }
    .home-hero-title{
        margin-bottom: 10px;
        font-size: 20px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .home-hero-subtitle{
        margin-bottom: 15px;
        font-size: 45px;
        line-height: 1.5em;
        color: var(--th-color-main);
    }
    .home-hero-desc{
        font-size: 16px;
        color: var(--th-color-dark);
    }
    .home-hero-right{
        width: 55%;
        /*padding-top: 50px;*/
        position: relative;
    }
    .home-hero-thumb{
        max-width: 450px;
        margin-left: 20%;
        border-radius: 50%;
        overflow: hidden;
        box-shadow: 0 0 0 5px rgba(255, 255, 255, 1);
    }
    .home-hero-thumb img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .home-hero-video{
        width: 250px;
        height: 250px;
        border-radius: 50%;
        overflow: hidden;
        position: absolute;
        left: 50px;
        bottom: 0px;
        box-shadow: inset 0 0 0 999px rgba(0,0,0,0.25);
    }
    .home-hero-video-play{
        font-size: 60px;
        line-height: 1;
        color: var(--th-color-white);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        transition: all 0.3s ease;
        z-index: 3;
    }
    .home-hero-video:hover .home-hero-video-play{
        transform: translate(-50%,-50%) scale(1.1);
    }

    /*
    * BLOCK HOME BOOKING.
    */
    .block-home-booking{
        background: var(--th-color-bg);
        margin-top: 50px;
    }
    .block-home-booking .container{
        position: relative;
    }
    .block-home-booking .container:before{
        content: '';
        position: absolute;
        top: 50%;
        left: 0px;
        right: 0px;
        height: 1px;
        background: #000;
    }
    .home-booking-badge{
        display: block;
        width: 160px;
        height: 160px;
        position: relative;
        z-index: 1;
        margin-left: 30px;
    }
    .home-booking-badge img{
        width: 100%;
        height: 100%;
        object-fit: contain;
        transition: all 0.3s ease;
    }
    .home-booking-badge:hover img{
        transform: rotate(-8deg);
    }
    .home-booking-text{
        width: 100%;
        padding: 0px 15px;
        font-size: 22px;
        line-height: 1.3;
        text-align: center;
        color: var(--th-color-white);
        box-sizing: border-box;
        position: absolute;
        top: 50%;
        left: 0px;
        transform: translateY(-50%);
    }
    .home-booking-badge:hover .home-booking-text{
        color: var(--th-color-peach);
    }

    /*
    * BLOCK HOME INTRO.
    */
    .block-home-intro{
        background: var(--th-color-bg);
        padding-top: 0px;
    }
    .home-intro-title{
        margin-bottom: 20px;
        font-size: 30px;
        color: var(--th-color-dark);
    }
    .home-intro-desc{
        max-width: 890px;
        margin: 0px auto;
        font-size: 16px;
    }
    .home-intro-note{
        max-width: 890px;
        margin: 20px auto 30px;
        font-size: 16px;
    }
    .home-intro-note strong{
        font-weight: 700;
    }
    .home-intro-deco{
        position: relative;
        z-index: 2;
    }
    .home-intro-deco-left{
        position: absolute;
        bottom: -33px;
        left: 215px;
        width: 280px;
    }
    .home-intro-deco-right{
        position: absolute;
        right: 60px;
        bottom: -33px;
        width: 350px;
        text-align: right;
    }
    .home-intro-deco-left img,
    .home-intro-deco-right img{
        width: 100%;
    }

    /*
    * BLOCK HOME WORRY.
    */
    .block-home-worry{
        background: var(--th-color-bg);
    }
    .home-worry-box{
        background: var(--th-color-main);
        padding: 60px 10px 20px;
        border-radius: 0 0 100px 100px;
    }
    .home-worry-item{
        width: calc((100% - 30px) / 4);
        margin-right: 10px;
        padding: 5px;
    }
    .home-worry-item:nth-child(4n+4){
        margin-right: 0px;
    }
    .home-worry-item-thumb{
        width: 120px;
        height: 120px;
        margin: 0px auto 10px;
        background: var(--th-color-peach);
        border-radius: 200px;
        overflow: hidden;
        transition: all 0.3s ease;
    }
    .home-worry-item:hover .home-worry-item-thumb{
        background: var(--th-color-bg);
    }
    .home-worry-item-thumb img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .home-worry-item-title{
        padding: 0px 15px 20px;
        font-size: 16px;
        color: var(--th-color-white);
    }
    .home-worry-more{
        padding: 20px 15px 20px;
    }
    .home-worry-more-title{
        margin-bottom: 30px;
        font-size: 30px;
        color: var(--th-color-peach);
    }
    .home-worry-more-item{
        margin-bottom: 20px;
        font-size: 16px;
        color: var(--th-color-white);
    }

    /*
    * BLOCK HOME EMPATHY.
    */
    .block-home-empathy{
        background: var(--th-color-bg);
        padding: 50px 0px;
    }
    .home-empathy-title{
        margin-bottom: 20px;
        font-size: 26px;
        line-height: 1.5em;
        color: var(--th-color-dark);
    }
    .home-empathy-desc{
        max-width: 550px;
        margin: 0px auto 20px;
        font-size: 16px;
    }
    .home-empathy-desc strong{
        font-weight: 700;
    }
    .home-empathy-btn{
        display: inline-block;
        padding: 7px 25px;
        font-size: 18px;
        color: var(--th-color-main);
        border: 2px solid var(--th-color-main);
        border-radius: 14px;
    }
    .home-empathy-btn:hover{
        color: var(--th-color-dark);
        background: var(--th-color-peach);
        /*border-color: var(--th-color-peach);*/
    }
    .home-empathy-btn i{
        margin-left: 8px;
    }

    /*
    * BLOCK HOME CHUYEN MON.
    */
    .block-home-cm{
        background: var(--th-color-bg);
        padding: 50px 0px 50px;
    }
    .home-cm-title{
        margin-bottom: 30px;
        font-size: 26px;
        line-height: 1.5em;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .home-cm-left{
        width: 33.33%;
        height: 730px;
        text-align: right;
        display: flex;
        align-items: center;
    }
    .home-cm-center{
        position: absolute;
        width: 730px;
        height: 730px;
        left: calc(50% - 365px);
    }
    .home-cm-center-img2{
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        display: flex;
        z-index: 10;
        justify-content: center;
        align-items: center;
    }
    .home-cm-center-img2 img{
        width: 430px;
        height: 430px;
    }
    .home-cm-right{
        width: 33.33%;
        height: 730px;
        display: flex;
        align-items: center;
    }
    .home-cm-inner{
        width: 100%;
    }
    .home-cm-item{
        margin-bottom: 100px;
    }
    .home-cm-item-3{
        margin-bottom: 0px;
    }
    .home-cm-left .home-cm-item-1{
        padding-right: 50px;
    }
    .home-cm-left .home-cm-item-2{
        padding-right: 100px;
    }
    .home-cm-left .home-cm-item-3{
        padding-right: 50px;
    }
    .home-cm-right .home-cm-item-1{
        padding-left: 50px;
    }
    .home-cm-right .home-cm-item-2{
        padding-left: 100px;
    }
    .home-cm-right .home-cm-item-3{
        padding-left: 50px;
    }
    .home-cm-item-title{
        font-size: 16px;
        line-height: 1.4;
        color: var(--th-color-dark);
    }
    .home-cm-left .home-cm-item-title{
        float: left;
        width: calc(100% - 44px);
        margin-top: 3px;
        padding-right: 10px;
        box-sizing: border-box;
    }
    .home-cm-right .home-cm-item-title{
        float: right;
        width: calc(100% - 44px);
        margin-top: 3px;
        padding-left: 10px;
        box-sizing: border-box;
    }
    .home-cm-item-icon{
        display: block;
        width: 34px;
    }
    .home-cm-left .home-cm-item-icon{
        float: right;
    }
    .home-cm-right .home-cm-item-icon{
        float: left;
    }

    /*
    * BLOCK HOME TEAM.
    */
    .block-home-team{
        background: var(--th-color-light);
        padding: 0px 0px 150px;
        position: relative;
    }
    .home-team-sep-top,
    .home-team-sep-bottom{
        width: 100%;
        height: 150px;
        line-height: 0;
        position: absolute;
        left: 0px;
        z-index: 2;
    }
    .home-team-sep-top{
        top: -30px;
    }
    .home-team-sep-bottom{
        bottom: 0px;
    }
    .home-team-sep-top svg,
    .home-team-sep-bottom svg{
        width: 100%;
        height: 100%;
        fill: var(--th-color-bg);
    }
    .block-home-team .container{
        position: relative;
        z-index: 3;
    }
    .home-team-title{
        margin: 30px 0px 100px;
        font-size: 26px;
        color: var(--th-color-dark);
    }
    .home-team-left{
        width: 50%;
        padding: 0px 70px;
        position: relative;
    }
    .home-team-left:before{
        content: '';
        width: 580px;
        height: 580px;
        background: var(--th-color-peach);
        border-radius: 50%;
        position: absolute;
        top: calc(50% - 290px);
        left: calc(50% - 290px);
        /*transform: translateY(-50%);*/
        z-index: 1;
    }
    .home-team-main{
        position: relative;
        z-index: 2;
    }
    .home-team-right{
        width: 50%;
        padding-left: 20px;
        display: flex;
        align-items: center;
    }
    .home-team-right .home-team-inner{
        position: relative;
        padding-top: 80px;
    }
    .home-team-main-thumb{
        line-height: 0;
    }
    .home-team-main-info{
        margin-top: -35px;
        padding: 20px;
        background: var(--th-color-main);
        position: relative;
        z-index: 2;
        border-radius: 0 0 30px 30px;
    }
    .home-team-main-position{
        font-size: 22px;
        font-weight: 700;
        color: var(--th-color-white);
    }
    .home-team-main-name{
        margin-top: 10px;
        font-size: 22px;
        font-weight: 700;
        color: var(--th-color-peach);
    }
    .home-team-main-desc{
        margin-top: 10px;
        font-size: 16px;
        line-height: 2;
        color: var(--th-color-white);
    }
    .home-team-main-social{
        display: inline-block;
        margin-top: 10px;
        font-size: 30px;
        color: var(--th-color-light);
    }
    .home-team-main-social:hover{
        color: var(--th-color-peach);
    }
    .home-team-main-logo{
        max-width: 185px;
        margin: 20px auto;
    }
    .home-team-main-logo img{
        border-radius: 20px;
    }
    .home-team-quote-mark{
        position: absolute;
        top: 0px;
        left: 0px;
        display: block;
        font-size: 120px;
        line-height: 1;
        color: var(--th-color-main);
    }
    .home-team-quote{
        margin-top: -30px;
        font-size: 16px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .home-team-quote-name{
        margin-top: 10px;
        font-size: 16px;
        color: var(--th-color-gray);
    }
    .home-team-quote-position{
        font-size: 16px;
        color: var(--th-color-gray);
    }
    .home-team-sub{
        margin-top: 60px;
    }
    .home-team-sub-left{
        width: 32%;
        padding-right: 0px;
    }
    .home-team-sub-thumb{
        max-width: 250px;
        margin: 0px auto;
        border-radius: 100%;
        overflow: hidden;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 1);
    }
    .home-team-sub-name{
        margin-top: 15px;
        font-size: 22px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .home-team-sub-arrow{
        width: 10%;
        padding-top: 60px;
    }
    .home-team-sub-arrow img{
        max-width: 79px;
    }
    .home-team-sub-right{
        position: relative;
        width: 60%;
        margin-top: 0px;
        padding: 15px;
        background: var(--th-color-white);
        border-radius: 14px;
    }
    .home-team-sub-right:before{
        position: absolute;
        content: '';
        top: 50px;
        left: -40px;
        border: 26px solid transparent;
        border-right: 40px solid #fff;
        border-left: 0px;
    }
    .home-team-sub-item{
        font-size: 16px;
        color: var(--th-color-dark);
    }
    .home-team-sub-line{
        width: 100%;
        margin: 10px auto;
        border: 2px dashed var(--th-color-light);
    }

    /*
    * BLOCK HOME REVIEW.
    */
    .block-home-review{
        background: var(--th-color-bg);
        padding: 25px 0px 50px;
    }
    .home-review-banner{
        max-width: 600px;
        margin: 0px auto 40px;
    }
    .home-review-slider{
        max-width: 800px;
        margin: 0px auto;
    }
    .home-review-item{
        padding: 0px 10px;
        padding-top: 32px;
    }
    .home-review-item-box{
        padding: 20px 20px 25px;
        background: var(--th-color-main);
        border-radius: 20px;
        position: relative;
    }
    .home-review-item-icon{
        display: block;
        width: 60px;
        height: 60px;
        margin: 0px auto 10px;
        font-size: 30px;
        line-height: 60px;
        text-align: center;
        color: var(--th-color-main);
        background: var(--th-color-peach);
        border-radius: 50%;
        position: relative;
        top: -50px;
        margin-bottom: -40px;
    }
    .home-review-item-content{
        max-height: 200px;
        padding: 20px 10px 40px 0px;
        font-size: 17px;
        text-align: center;
        color: var(--th-color-white);
        overflow-y: auto;
        -webkit-mask: linear-gradient(180deg,transparent,#000 20% 70%,transparent);
        mask: linear-gradient(180deg,transparent,#000 20% 70%,transparent);
    }
    .home-review-item-meta{
        margin-top: 20px;
    }
    .home-review-item-avatar{
        width: 75px;
        height: 75px;
        margin: 0px auto 8px;
        border-radius: 50%;
    }
    .home-review-item-name{
        font-size: 16px;
        font-weight: 700;
        color: #333333;
    }
    .home-review-more{
        margin-top: 40px;
    }
    .home-review-morelink{
        display: inline-block;
        padding: 7px 25px;
        font-size: 18px;
        color: var(--th-color-dark);
        border: 2px solid var(--th-color-main);
        border-radius: 14px;
    }
    .home-review-morelink:hover{
        color: var(--th-color-dark);
        background: var(--th-color-peach);
        /*border-color: var(--th-color-peach);*/
    }
    .home-review-morelink i{
        margin-left: 8px;
        font-size: 14px;
    }
    .home-review-slider .slick-dots{
        margin-top: 10px;
        text-align: center;
    }
    .home-review-slider .slick-dots li{
        display: inline-block;
        margin: 0px 4px;
    }
    .home-review-slider .slick-dots li button{
        width: 10px;
        height: 10px;
        padding: 0px;
        font-size: 0px;
        background: var(--th-color-light);
        border: 0px;
        border-radius: 50%;
        cursor: pointer;
    }
    .home-review-slider .slick-dots li.slick-active button{
        background: var(--th-color-main);
    }
    .home-review-slider .slick-prev,
    .home-review-slider .slick-next{
        width: 36px;
        height: 36px;
        font-size: 0px;
        background: var(--th-color-white);
        border: 0px;
        border-radius: 50%;
        cursor: pointer;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
    }
    .home-review-slider .slick-prev{
        left: -50px;
    }
    .home-review-slider .slick-next{
        right: -50px;
    }
    .home-review-slider .slick-prev:before,
    .home-review-slider .slick-next:before{
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        font-size: 16px;
        color: var(--th-color-dark);
    }
    .home-review-slider .slick-prev:before{
        content: '\f053';
    }
    .home-review-slider .slick-next:before{
        content: '\f054';
    }

    /*
    * FOOTER.
    */
    .footer{
        padding: 130px 0px 40px;
        background-size: cover;
        background-position: 50% 40%;
        background-repeat: no-repeat;
        position: relative;
    }
    .footer-sep-top{
        width: 100%;
        height: 104px;
        line-height: 0;
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: 2;
    }
    .footer-sep-top svg{
        width: 100%;
        height: 100%;
        fill: var(--th-color-bg);
        position: absolute;
        top: 0px;
        left: 50%;
        transform: translateX(-50%) rotate(180deg);
        width: 100.2%;
        height: 100%;
        display: block;
        /*fill: #fff;
        fill: var(--global-palette8, #F7FAFC) !important;*/
    }
    .footer .container{
        position: relative;
        z-index: 3;
    }
    .footer-left{
        width: 50%;
        padding-right: 20px;
    }
    .footer-logo{
        display: block;
        max-width: 150px;
        margin-bottom: 15px;
    }
    .footer-desc{
        font-size: 16px;
        color: var(--th-color-white);
    }
    .footer-desc strong{
        font-weight: 700;
    }
    .footer-right{
        width: 50%;
        padding-left: 20px;
    }
    .footer-right-title{
        margin-bottom: 15px;
        font-size: 20px;
        color: var(--th-color-white);
    }
    .footer-info{
        display: block;
        margin-bottom: 10px;
        font-size: 16px;
        color: var(--th-color-white);
    }
    .footer-info:hover{
        color: var(--th-color-peach);
    }
    .footer-info i{
        width: 22px;
        margin-right: 6px;
    }
    .footer-social{
        margin-top: 15px;
    }
    .footer-social a{
        display: inline-block;
        margin-right: 12px;
        font-size: 26px;
        color: var(--th-color-white);
    }
    .footer-social a:hover{
        color: var(--th-color-peach);
    }
    .footer-copyright{
        padding: 10px 0px;
        font-size: 16px;
        color: var(--th-color-dark);
        background: var(--th-color-light);
    }

    /*
    * HOTLINE BUTTON.
    */
    .hotline-btn{
        display: block;
        opacity: 0;
        visibility: hidden;
        position: fixed;
        left: 20px;
        bottom: 20px;
        transition: all 0.5s ease;
        z-index: 90;
    }
    .hotline-btn.show{
        opacity: 1;
        visibility: visible;
    }
    .hotline-btn:hover{
        transform: translateY(-2px);
    }
    .hotline-btn-icon{
        float: left;
        width: 60px;
        height: 60px;
        margin-right: 10px;
    }
    .hotline-btn-icon img{
        width: 100%;
        height: 100%;
    }
    .hotline-btn-text{
        float: left;
        margin-top: 15px;
        padding: 5px 15px;
        font-size: 14px;
        white-space: nowrap;
        color: var(--th-color-white);
        background: var(--th-color-main);
        border: 2px solid var(--th-color-bg);
        border-radius: 16px;
    }

    /*
    * BACK TO TOP BUTTON.
    */
    .back-to-top{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        opacity: 0;
        visibility: hidden;
        position: fixed;
        right: 20px;
        bottom: 20px;
        font-size: 18px;
        color: var(--th-color-white);
        background: var(--th-color-main);
        border: 0px;
        border-radius: 50%;
        box-shadow: 0px 10px 15px -8px rgba(0,0,0,0.3);
        cursor: pointer;
        transition: all 0.3s ease;
        z-index: 90;
    }
    .back-to-top.show{
        opacity: 1;
        visibility: visible;
    }
    .back-to-top:hover{
        color: var(--th-color-white);
        background: var(--th-color-dark);
        transform: translateY(-3px);
    }

    /*
    * NEWS COL.
    */
    .news-col-inner{
        background: var(--th-color-white);
        border-radius: 14px;
        overflow: hidden;
        height: 100%;
        box-shadow: 0px 15px 15px -10px rgba(0,0,0,0.05);
    }
    .news-col-thumb{
        display: block;
        width: 100%;
        height: 260px;
        /*padding-bottom: var(--th-thumb-ratio);*/
        overflow: hidden;
        position: relative;
    }
    .news-col-thumb img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0px;
        left: 0px;
    }
    .news-col-content{
        padding: 30px;
    }
    .news-col-cat a{
        font-size: 13px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--th-color-main);
    }
    .news-col-cat a:hover{
        color: var(--th-color-dark);
    }
    .news-col-title{
        margin: 8px 0px;
        margin-bottom: 12px;
        font-size: 28px;
        font-weight: 700;
        line-height: 1.4;
        color: var(--th-color-dark);
    }
    .news-col-title a:hover{
        color: var(--th-color-main);
    }
    .news-col-meta{
        margin-bottom: 15px;
        font-size: 14px;
        color: var(--th-color-gray);
    }
    .news-col-meta span{
        display: inline-block;
        margin-right: 6px;
    }
    .news-col-meta span + span:before{
        content: '\2022';
        margin-right: 6px;
    }
    .news-col-desc{
        font-size: 16px;
        line-height: 1.7;
        color: var(--th-color-gray);
    }
    .news-col-morelink{
        display: inline-block;
        margin-top: 12px;
        font-size: 15px;
        font-weight: 600;
        color: var(--th-color-main);
    }
    .news-col-morelink:hover{
        color: var(--th-color-dark);
    }
    .news-col-morelink i{
        margin-left: 6px;
        font-size: 12px;
    }

    /*
    * TAXONOMY.
    */
    .block-taxonomy{
        padding: 40px 0px 60px;
    }
    .taxonomy-title{
        margin-bottom: 10px;
        font-size: 32px;
        color: var(--th-color-dark);
    }
    .taxonomy-desc{
        margin-bottom: 30px;
        font-size: 16px;
        color: var(--th-color-gray);
    }
    .taxonomy-list{
        margin-top: 30px;
    }
    .taxonomy-list .news-col{
        float: left;
        width: calc((100% - 60px) / 3);
        margin-right: 30px;
    }
    .taxonomy-list .news-col:nth-child(3n+3){
        float: right;
        margin-right: 0px;
    }
    .taxonomy-list .news-col:nth-child(n+4){
        margin-top: 30px;
    }

    /*
    * PAGINATION.
    */
    .pagination{
        margin-top: 40px;
    }
    .pagination .page-numbers{
        display: inline-block;
        min-width: 40px;
        height: 40px;
        margin: 0px 3px;
        padding: 0px 8px;
        font-size: 15px;
        font-weight: 600;
        line-height: 40px;
        color: var(--th-color-dark);
        background: var(--th-color-white);
        border-radius: 14px;
        box-sizing: border-box;
    }
    .pagination .page-numbers:hover,
    .pagination .page-numbers.current{
        color: var(--th-color-white);
        background: var(--th-color-main);
    }

    /*
    * BREADCRUMB.
    */
    .breadcrumb{
        margin-bottom: 20px;
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .breadcrumb a{
        color: var(--th-color-main);
    }
    .breadcrumb .separator{
        margin: 0px 6px;
    }

    /*
    * PRODUCT COL.
    */
    .product-col-inner{
        background: var(--th-color-white);
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0px 15px 15px -10px rgba(0,0,0,0.05);
        transition: all 0.3s ease;
    }
    .product-col-inner:hover{
        box-shadow: 0px 15px 25px -7px rgba(29,104,135,0.18);
    }
    .product-col-thumb{
        display: block;
        width: 100%;
        padding-bottom: var(--th-product-ratio);
        background: var(--th-color-bg);
        overflow: hidden;
        position: relative;
    }
    .product-col-thumb img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0px;
        left: 0px;
    }
    .product-col-badge{
        padding: 4px 12px;
        font-size: 12px;
        font-weight: 700;
        color: var(--th-color-dark);
        background: var(--th-color-peach);
        border-radius: 14px;
        position: absolute;
        top: 12px;
        left: 12px;
        z-index: 2;
    }
    .product-col-content{
        padding: 20px;
    }
    .product-col-cat a{
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--th-color-main);
    }
    .product-col-cat a:hover{
        color: var(--th-color-dark);
    }
    .product-col-title{
        margin: 8px 0px;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.4;
        color: var(--th-color-dark);
    }
    .product-col-title a:hover{
        color: var(--th-color-main);
    }
    .product-col-desc{
        margin-bottom: 12px;
        font-size: 14px;
        line-height: 1.6;
        color: var(--th-color-gray);
    }
    .product-col-morelink{
        display: inline-block;
        font-size: 14px;
        font-weight: 600;
        color: var(--th-color-main);
    }
    .product-col-inner:hover .product-col-morelink{
        color: var(--th-color-dark);
    }
    .product-col-morelink i{
        margin-left: 6px;
        font-size: 12px;
    }

    /*
    * SHOP.
    */
    .block-shop{
        padding: 40px 0px 60px;
    }
    .shop-title{
        margin-bottom: 10px;
        font-size: 32px;
        color: var(--th-color-dark);
    }
    .shop-desc{
        margin-bottom: 10px;
        font-size: 16px;
        color: var(--th-color-gray);
    }
    .shop-main{
        width: calc(100% - 330px);
        margin-top: 30px;
    }
    .shop-list .product-col{
        float: left;
        width: calc((100% - 40px) / 3);
        margin-right: 20px;
    }
    .shop-list .product-col:nth-child(3n+3){
        float: right;
        margin-right: 0px;
    }
    .shop-list .product-col:nth-child(n+4){
        margin-top: 20px;
    }

    /*
    * SHOP CTA.
    */
    .block-shop-cta{
        padding: 0px 0px 60px;
    }
    .shop-cta-box{
        padding: 40px 30px;
        background: var(--th-color-main);
        border-radius: 14px;
    }
    .shop-cta-title{
        margin-bottom: 12px;
        font-size: 30px;
        color: var(--th-color-peach);
    }
    .shop-cta-desc{
        max-width: 550px;
        margin: 0px auto 20px;
        font-size: 16px;
        color: var(--th-color-white);
    }
    .shop-cta-btn{
        display: inline-block;
        padding: 10px 25px;
        font-size: 18px;
        color: var(--th-color-white);
        border: 2px solid var(--th-color-white);
        border-radius: 14px;
    }
    .shop-cta-btn:hover{
        color: var(--th-color-dark);
        background: var(--th-color-peach);
        border-color: var(--th-color-peach);
    }
    .shop-cta-btn i{
        margin-left: 8px;
    }

    /*
    * PRODUCT SINGLE.
    */
    .block-product{
        padding: 30px 0px 60px;
    }
    .product-detail{
        padding: 30px;
        background: var(--th-color-white);
        border-radius: 14px;
        box-shadow: 0px 15px 15px -10px rgba(0,0,0,0.05);
    }
    .product-gallery{
        width: 48%;
    }
    .product-gallery-main-item{
        display: block;
        width: 100%;
        background: var(--th-color-bg);
        border-radius: 14px;
        overflow: hidden;
        position: relative;
    }
    .product-gallery-main-item img{
        width: 100%;
    }
    .product-gallery-thumb{
        margin-top: 20px;
    }
    .product-gallery-thumb-item{
        padding: 0px 7px;
        cursor: pointer;
    }
    .product-gallery-thumb-item img{
        width: 60px;
        height: 60px;
        margin: 0px auto;
        object-fit: cover;
        border: 2px solid transparent;
        border-radius: 50%;
        opacity: 0.6;
        transition: all 0.3s ease;
    }
    .product-gallery-thumb .slick-current img{
        border-color: var(--th-color-main);
        opacity: 1;
    }
    .product-info{
        width: 48%;
    }
    .product-info-cat a{
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--th-color-main);
    }
    .product-info-title{
        margin: 8px 0px 12px;
        font-size: 26px;
        line-height: 1.4;
        color: var(--th-color-dark);
    }
    .product-info-rating{
        margin-bottom: 15px;
        font-size: 14px;
    }
    .product-info-star{
        margin-right: 8px;
        color: #FBE061;
    }
    .product-info-review{
        color: var(--th-color-gray);
    }
    .product-info-price{
        margin-bottom: 15px;
        font-size: 24px;
        font-weight: 700;
        color: var(--th-color-main);
    }
    .product-info-price del{
        margin-right: 8px;
        font-size: 16px;
        font-weight: 400;
        color: var(--th-color-gray);
    }
    .product-info-desc{
        margin-bottom: 15px;
        font-size: 15px;
        line-height: 1.7;
        color: var(--th-color-gray);
    }
    .product-info-highlight{
        margin-bottom: 20px;
        padding: 15px 20px;
        background: var(--th-color-bg);
        border-radius: 14px;
    }
    .product-info-highlight li{
        margin-bottom: 8px;
        font-size: 15px;
    }
    .product-info-highlight li:last-child{
        margin-bottom: 0px;
    }
    .product-info-highlight li i{
        margin-right: 8px;
        color: var(--th-color-main);
    }
    .product-info-action{
        margin-bottom: 20px;
    }
    .product-info-btn{
        display: inline-block;
        margin: 0px 10px 10px 0px;
        padding: 11px 25px;
        font-size: 16px;
        border-radius: 14px;
    }
    .product-info-btn i{
        margin-right: 8px;
    }
    .product-info-btn-main{
        font-size: 18px;
        color: var(--th-color-white);
        background: var(--th-color-main);
        border: 2px solid var(--th-color-main);
    }
    .product-info-btn-main i{
        margin-right: 0px;
        margin-left: 8px;
    }
    .product-info-btn-main:hover{
        color: var(--th-color-dark);
        background: var(--th-color-peach);
        border-color: var(--th-color-peach);
    }
    .product-info-btn-sub{
        font-weight: 600;
        color: var(--th-color-main);
        border: 2px solid var(--th-color-light);
    }
    .product-info-btn-sub:hover{
        color: var(--th-color-dark);
        background: var(--th-color-light);
    }
    .product-info-meta{
        padding-top: 15px;
        border-top: 1px solid var(--th-color-bg);
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .product-info-meta p{
        margin-bottom: 5px;
    }
    .product-info-meta span{
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .product-info-meta a{
        color: var(--th-color-main);
    }

    /*
    * PRODUCT TAB.
    */
    .product-tab{
        margin-top: 30px;
        padding: 30px;
        background: var(--th-color-white);
        border-radius: 14px;
        box-shadow: 0px 15px 15px -10px rgba(0,0,0,0.05);
    }
    .product-tab-nav{
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 25px;
        border-bottom: 2px solid var(--th-color-bg);
    }
    .product-tab-navitem{
        display: inline-block;
        padding: 12px 22px;
        font-size: 15px;
        font-weight: 700;
        color: var(--th-color-gray);
        border-radius: 14px 14px 0px 0px;
        cursor: pointer;
        position: relative;
        bottom: -2px;
        transition: all 0.25s ease;
    }
    .product-tab-navitem:hover{
        color: var(--th-color-main);
        background: var(--th-color-bg);
    }
    .product-tab-navitem.active{
        color: var(--th-color-white);
        background: var(--th-color-main);
        box-shadow: 0px 10px 15px -10px rgba(29,104,135,0.6);
    }
    .product-tab-panel{
        display: none;
    }
    .product-tab-panel.active{
        display: block;
    }
    .product-tab-table{
        width: 100%;
        border-collapse: collapse;
    }
    .product-tab-table th,
    .product-tab-table td{
        padding: 10px 15px;
        font-size: 15px;
        text-align: left;
        border: 1px solid var(--th-color-light);
    }
    .product-tab-table th{
        width: 220px;
        font-weight: 700;
        color: var(--th-color-dark);
        background: var(--th-color-bg);
    }
    .product-tab .single-comment{
        margin-top: 0px;
        padding: 0px;
    }

    /*
    * PRODUCT REVIEWS (WOOCOMMERCE).
    */
    .product-tab .woocommerce-Reviews-title{
        margin-bottom: 20px;
        font-size: 20px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .product-tab .woocommerce-Reviews-title span{
        color: var(--th-color-main);
    }
    .product-tab .woocommerce-noreviews{
        margin-bottom: 25px;
        padding: 16px 20px;
        font-size: 15px;
        font-style: italic;
        color: var(--th-color-gray);
        background: var(--th-color-bg);
        border-radius: 14px;
    }
    .product-tab ol.commentlist,
    .product-tab ul.children{
        margin: 0px;
        padding: 0px;
        list-style: none;
    }
    .product-tab ol.commentlist{
        margin-bottom: 30px;
    }
    .product-tab ul.children{
        margin: 15px 0px 0px 65px;
    }
    .product-tab .commentlist li.comment{
        margin-bottom: 15px;
    }
    .product-tab .commentlist .comment_container{
        display: flex;
        gap: 15px;
        padding: 20px;
        background: var(--th-color-bg);
        border-radius: 14px;
    }
    .product-tab .commentlist img.avatar{
        flex: none;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 2px solid var(--th-color-white);
    }
    .product-tab .commentlist .comment-text{
        overflow: hidden;
        width: 100%;
    }
    .product-tab .commentlist .star-rating{
        margin-bottom: 8px;
    }
    .product-tab .commentlist p.meta{
        margin-bottom: 8px;
        font-size: 14px;
    }
    .product-tab .commentlist p.meta em{
        font-size: 14px;
        font-style: italic;
        color: var(--th-color-main);
    }
    .product-tab .woocommerce-review__author{
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .product-tab .woocommerce-review__dash{
        margin: 0px 4px;
        color: var(--th-color-gray);
    }
    .product-tab .woocommerce-review__published-date{
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .product-tab .woocommerce-review__verified{
        margin-left: 4px;
        font-size: 12px;
        font-style: normal;
        color: var(--th-color-main);
    }
    .product-tab .commentlist .description p{
        margin: 0px;
        font-size: 15px;
        line-height: 1.7;
    }
    .product-tab .woocommerce-pagination ul{
        display: flex;
        gap: 8px;
        margin: 0px;
        padding: 0px;
        list-style: none;
    }
    .product-tab .woocommerce-pagination a,
    .product-tab .woocommerce-pagination span{
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 36px;
        height: 36px;
        padding: 0px 6px;
        font-size: 14px;
        font-weight: 700;
        color: var(--th-color-dark);
        background: var(--th-color-bg);
        border-radius: 8px;
    }
    .product-tab .woocommerce-pagination a:hover,
    .product-tab .woocommerce-pagination .current{
        color: var(--th-color-white);
        background: var(--th-color-main);
    }
    .star-rating{
        position: relative;
        height: 1.2em;
        width: 5.4em;
        font-size: 15px;
        line-height: 1.2;
        overflow: hidden;
    }
    .star-rating::before{
        content: "\f005\f005\f005\f005\f005";
        display: block;
        position: absolute;
        top: 0px;
        left: 0px;
        font-family: "Font Awesome 5 Pro";
        font-weight: 400;
        letter-spacing: 3px;
        color: var(--th-color-light);
    }
    .star-rating span{
        position: absolute;
        top: 0px;
        left: 0px;
        overflow: hidden;
        padding-top: 1.5em;
    }
    .star-rating span::before{
        content: "\f005\f005\f005\f005\f005";
        display: block;
        position: absolute;
        top: 0px;
        left: 0px;
        font-family: "Font Awesome 5 Pro";
        font-weight: 900;
        letter-spacing: 3px;
        color: #FBE061;
    }
    .product-tab #review_form_wrapper{
        margin-top: 30px;
        padding-top: 30px;
        border-top: 2px solid var(--th-color-bg);
    }
    .product-tab .comment-reply-title{
        display: block;
        margin-bottom: 20px;
        font-size: 20px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .product-tab .comment-notes{
        margin-bottom: 20px;
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .product-tab .comment-form{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0px 20px;
    }
    .product-tab .comment-form-rating,
    .product-tab .comment-form-comment,
    .product-tab .form-submit{
        grid-column: 1 / -1;
    }
    .product-tab .comment-form-rating,
    .product-tab .comment-form-comment,
    .product-tab .comment-form-author,
    .product-tab .comment-form-email{
        margin-bottom: 15px;
    }
    .product-tab .comment-form-rating label,
    .product-tab .comment-form-comment label,
    .product-tab .comment-form-author label,
    .product-tab .comment-form-email label{
        display: block;
        margin-bottom: 5px;
        font-size: 14px;
        font-weight: 600;
        color: var(--th-color-dark);
    }
    .product-tab .required{
        color: #B82105;
    }
    .product-tab #respond input[type="text"],
    .product-tab #respond input[type="email"],
    .product-tab #respond textarea,
    .product-tab #respond select{
        width: 100%;
        padding: 10px 15px;
        font-family: var(--th-font-main);
        font-size: 15px;
        color: var(--th-color-dark);
        background: var(--th-color-white);
        border: 1px solid var(--th-color-light);
        border-radius: 14px;
        box-sizing: border-box;
    }
    .product-tab #respond select{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        padding-right: 40px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236c8f4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 15px center;
        cursor: pointer;
    }
    .product-tab #respond input[type="text"]:focus,
    .product-tab #respond input[type="email"]:focus,
    .product-tab #respond textarea:focus,
    .product-tab #respond select:focus{
        border-color: var(--th-color-main);
    }
    .product-tab #respond textarea{
        resize: vertical;
    }
    .product-tab .form-submit input[type="submit"]{
        padding: 10px 30px;
        font-weight: 600;
        color: var(--th-color-white);
        background: var(--th-color-main);
        border: 0px;
        border-radius: 14px;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    .product-tab .form-submit input[type="submit"]:hover{
        color: var(--th-color-dark);
        background: var(--th-color-peach);
    }
    .product-tab .must-log-in{
        font-size: 15px;
        color: var(--th-color-gray);
    }
    .product-tab .must-log-in a{
        font-weight: 700;
        color: var(--th-color-main);
    }

    /*
    * PRODUCT RELATED.
    */
    .product-related{
        margin-top: 40px;
    }
    .product-related-title{
        margin-bottom: 20px;
        font-size: 26px;
        color: var(--th-color-dark);
    }
    .product-related-slider .product-col{
        padding: 0px 10px;
    }
    .product-related-slider .slick-list{
        margin: 0px -10px;
        padding-bottom: 10px;
    }
    .product-related-slider .slick-track{
        display: flex;
    }
    .product-related-slider .slick-slide{
        height: auto;
    }
    .product-related-slider .slick-slide > div,
    .product-related-slider .product-col,
    .product-related-slider .product-col-inner{
        height: 100%;
    }
    .product-related-slider .slick-prev,
    .product-related-slider .slick-next{
        width: 36px;
        height: 36px;
        font-size: 0px;
        background: var(--th-color-white);
        border: 0px;
        border-radius: 50%;
        box-shadow: 0px 2px 10px rgba(0,0,0,0.08);
        cursor: pointer;
        position: absolute;
        top: -50px;
        z-index: 5;
    }
    .product-related-slider .slick-prev{
        right: 45px;
    }
    .product-related-slider .slick-next{
        right: 0px;
    }
    .product-related-slider .slick-prev:before,
    .product-related-slider .slick-next:before{
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        font-size: 14px;
        color: var(--th-color-dark);
    }
    .product-related-slider .slick-prev:before{
        content: '\f053';
    }
    .product-related-slider .slick-next:before{
        content: '\f054';
    }

    /*
    * SINGLE.
    */
    .block-single{
        padding: 40px 0px 60px;
    }
    .single-main{
        width: calc(100% - 330px);
    }
    .single-banner{
        width: auto;
        margin-left: -10px;
        margin-right: -10px;
        border-radius: 14px;
        overflow: hidden;
        position: relative;
    }
    .single-banner img{
        width: 100%;
    }
    .single-entry{
        margin-top: -80px;
        padding: 32px;
        background: var(--th-color-white);
        border-radius: 14px;
        box-shadow: 0px 15px 15px -10px rgba(0,0,0,0.05);
        position: relative;
        z-index: 2;
    }
    .single-entry-nobanner{
        margin-top: 0px;
    }
    .single-cat a{
        font-size: 13px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--th-color-main);
    }
    .single-title{
        margin: 10px 0px;
        font-size: 35px;
        line-height: 1.4;
        color: var(--th-color-dark);
    }
    .single-page-title{
        margin-top: 0px;
    }
    .single-meta{
        margin-bottom: 20px;
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .single-meta span{
        display: inline-block;
        margin-right: 6px;
    }
    .single-meta span + span:before{
        content: '\2022';
        margin-right: 6px;
    }
    .single-tags{
        margin-top: 25px;
        padding-top: 20px;
        border-top: 1px solid var(--th-color-light);
    }
    .single-tag-item{
        display: inline-block;
        margin: 0px 8px 8px 0px;
        padding: 4px 12px;
        font-size: 13px;
        color: var(--th-color-dark);
        background: var(--th-color-bg);
        border-radius: 14px;
    }
    .single-tag-item:hover{
        color: var(--th-color-white);
        background: var(--th-color-main);
    }
    .single-tag-item span{
        margin-right: 2px;
        color: var(--th-color-main);
    }
    .single-tag-item:hover span{
        color: var(--th-color-peach);
    }

    /*
    * SINGLE NAV.
    */
    .single-nav{
        margin-top: 30px;
    }
    .single-nav-item{
        width: calc((100% - 20px) / 2);
        padding: 20px;
        background: var(--th-color-white);
        border-radius: 14px;
    }
    .single-nav-item:hover{
        background: var(--th-color-light);
    }
    .single-nav-item small{
        display: block;
        margin-bottom: 6px;
        font-size: 13px;
        font-weight: 600;
        color: var(--th-color-gray);
    }
    .single-nav-prev small i{
        margin-right: 6px;
    }
    .single-nav-next{
        text-align: right;
    }
    .single-nav-next small i{
        margin-left: 6px;
    }
    .single-nav-item span{
        font-size: 15px;
        font-weight: 600;
        line-height: 1.5;
        color: var(--th-color-dark);
    }

    /*
    * SINGLE RELATED.
    */
    .single-related{
        margin-top: 40px;
    }
    .single-related-title{
        margin-bottom: 20px;
        font-size: 26px;
        color: var(--th-color-dark);
    }
    .single-related-slider .news-col{
        padding: 0px 10px;
    }
    .single-related-slider .news-col-content{
        padding: 20px;
    }
    .single-related-slider .news-col-title{
        font-size: 28px;
    }
    .single-related-slider .slick-list{
        margin: 0px -10px;
    }
    .single-related-slider .slick-track{
        display: flex;
        flex-flow: row wrap;
    }
    .single-related-slider .slick-slide{
        height: auto;
    }
    .single-related-slider .slick-slide > div
    /*.single-related-slider .news-col,
    .single-related-slider .news-col-inner*/{
        height: 100%;
    }
    .single-related-slider .slick-dots{
        margin-top: 15px;
        text-align: center;
    }
    .single-related-slider .slick-dots li{
        display: inline-block;
        margin: 0px 4px;
    }
    .single-related-slider .slick-dots li button{
        width: 10px;
        height: 10px;
        padding: 0px;
        font-size: 0px;
        background: var(--th-color-light);
        border: 0px;
        border-radius: 50%;
        cursor: pointer;
    }
    .single-related-slider .slick-dots li.slick-active button{
        background: var(--th-color-main);
    }
    .single-related-slider .slick-prev,
    .single-related-slider .slick-next{
        width: 36px;
        height: 36px;
        font-size: 0px;
        background: var(--th-color-white);
        border: 0px;
        border-radius: 50%;
        box-shadow: 0px 2px 10px rgba(0,0,0,0.08);
        cursor: pointer;
        position: absolute;
        top: -50px;
        z-index: 5;
    }
    .single-related-slider .slick-prev{
        right: 45px;
    }
    .single-related-slider .slick-next{
        right: 0px;
    }
    .single-related-slider .slick-prev:before,
    .single-related-slider .slick-next:before{
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        font-size: 14px;
        color: var(--th-color-dark);
    }
    .single-related-slider .slick-prev:before{
        content: '\f053';
    }
    .single-related-slider .slick-next:before{
        content: '\f054';
    }

    /*
    * SINGLE COMMENT.
    */
    .single-comment{
        margin-top: 40px;
        padding: 25px;
        background: var(--th-color-white);
        border-radius: 14px;
    }
    .single-comment-title{
        margin-bottom: 20px;
        font-size: 22px;
        color: var(--th-color-dark);
    }
    .single-comment-list{
        margin-bottom: 30px;
    }
    .single-comment-list ul.children{
        margin-left: 40px;
    }
    .single-comment-item-inner{
        padding: 15px 0px;
        border-bottom: 1px solid var(--th-color-bg);
    }
    .single-comment-item-avatar{
        width: 50px;
        margin-right: 15px;
    }
    .single-comment-item-avatar img{
        border-radius: 50%;
    }
    .single-comment-item-body{
        overflow: hidden;
    }
    .single-comment-item-name{
        font-size: 15px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .single-comment-item-date{
        display: block;
        margin-bottom: 6px;
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .single-comment-item-moderation{
        margin-bottom: 6px;
        font-size: 13px;
        font-style: italic;
        color: var(--th-color-main);
    }
    .single-comment-item-text{
        font-size: 15px;
        line-height: 1.7;
    }
    .single-comment-item-action{
        margin-top: 6px;
        font-size: 13px;
        font-weight: 600;
    }
    .single-comment-item-action a{
        margin-right: 12px;
        color: var(--th-color-main);
    }
    .single-comment-item-action a:hover{
        color: var(--th-color-dark);
    }
    .single-comment-nav{
        margin-bottom: 20px;
        font-size: 14px;
    }
    .single-comment-closed{
        padding: 10px 0px;
        font-size: 14px;
        font-style: italic;
        color: var(--th-color-gray);
    }
    .single-comment .comment-reply-title{
        margin-bottom: 10px;
        font-size: 22px;
        color: var(--th-color-dark);
    }
    .single-comment .comment-reply-title small{
        margin-left: 10px;
        font-size: 14px;
        font-weight: 400;
    }
    .single-comment .comment-reply-title small a{
        color: var(--th-color-main);
    }
    .single-comment-note{
        margin-bottom: 15px;
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .single-comment-field{
        margin-bottom: 15px;
    }
    .single-comment-field label{
        display: block;
        margin-bottom: 5px;
        font-size: 14px;
        font-weight: 600;
        color: var(--th-color-dark);
    }
    .single-comment-field .required{
        color: #B82105;
    }
    .single-comment-col{
        width: calc((100% - 30px) / 3);
        margin-right: 15px;
    }
    .single-comment-col-last{
        margin-right: 0px;
    }
    .single-comment input[type="text"],
    .single-comment input[type="email"],
    .single-comment input[type="url"],
    .single-comment textarea{
        width: 100%;
        padding: 10px 15px;
        color: var(--th-color-dark);
        background: var(--th-color-bg);
        border: 1px solid var(--th-color-light);
        border-radius: 14px;
        box-sizing: border-box;
    }
    .single-comment input[type="text"]:focus,
    .single-comment input[type="email"]:focus,
    .single-comment input[type="url"]:focus,
    .single-comment textarea:focus{
        border-color: var(--th-color-main);
    }
    .single-comment textarea{
        resize: vertical;
    }
    .single-comment .comment-form-cookies-consent{
        margin-bottom: 15px;
        font-size: 13px;
        color: var(--th-color-gray);
    }
    .single-comment .comment-form-cookies-consent input{
        margin-right: 6px;
    }
    .single-comment input[type="submit"]{
        padding: 10px 25px;
        font-weight: 600;
        color: var(--th-color-white);
        background: var(--th-color-main);
        border: 0px;
        border-radius: 14px;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    .single-comment input[type="submit"]:hover{
        color: var(--th-color-dark);
        background: var(--th-color-peach);
    }

    /*
    * SIDEBAR.
    */
    .sidebar{
        width: 300px;
        position: relative;
        z-index: 2;
    }
    .sidebar-item{
        margin-bottom: 20px;
        padding: 15px;
        background: var(--th-color-white);
        border-radius: 14px;
    }
    .sidebar-item-title{
        margin-bottom: 12px;
        font-size: 20px;
        font-weight: 700;
        color: var(--th-color-dark);
    }
    .sidebar-news-list li{
        padding: 10px 0px;
        border-bottom: 1px solid var(--th-color-bg);
    }
    .sidebar-news-list li:last-child{
        border-bottom: 0px;
    }
    .sidebar-news-list li a{
        font-size: 15px;
        font-weight: 700;
        line-height: 1.5;
        color: var(--th-color-darker);
    }
    .sidebar-news-list li a:hover{
        color: var(--th-color-main);
    }
    .sidebar-cat-list li{
        border-bottom: 1px solid var(--th-color-bg);
    }
    .sidebar-cat-list li:last-child{
        border-bottom: 0px;
    }
    .sidebar-cat-list li a{
        display: block;
        padding: 10px 0px;
        font-size: 15px;
        font-weight: 600;
        color: var(--th-color-dark);
    }
    .sidebar-cat-list li a:hover,
    .sidebar-cat-list li.active a{
        color: var(--th-color-main);
    }
    .sidebar-cat-list li a span{
        float: right;
        min-width: 24px;
        font-size: 12px;
        font-weight: 400;
        line-height: 24px;
        text-align: center;
        color: var(--th-color-dark);
        background: var(--th-color-bg);
        border-radius: 50%;
    }
    .sidebar-cat-list li.active a span{
        color: var(--th-color-white);
        background: var(--th-color-main);
    }
    .sidebar-product-item{
        padding: 10px 0px;
        border-bottom: 1px solid var(--th-color-bg);
    }
    .sidebar-product-item:last-child{
        border-bottom: 0px;
    }
    .sidebar-product-thumb{
        width: 60px;
        height: 60px;
        margin-right: 12px;
        border-radius: 14px;
    }
    .sidebar-product-title{
        overflow: hidden;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.4;
        color: var(--th-color-dark);
    }
    .sidebar-product-title a:hover{
        color: var(--th-color-main);
    }

    /*
    * SINGLE CONTENT.
    */
    .single-content{
        font-size: 16px;
        line-height: 1.8;
    }
    .single-content p{
        margin-bottom: 15px;
    }
    .single-content img{
        border-radius: 14px;
    }
    .single-content h2,
    .single-content h3,
    .single-content h4{
        margin: 25px 0px 12px;
        line-height: 1.4;
    }
    .single-content h2{
        font-size: 26px;
    }
    .single-content h3{
        font-size: 22px;
    }
    .single-content h4{
        font-size: 18px;
    }
    .single-content ul,
    .single-content ol{
        margin: 0px 0px 15px 20px;
        list-style: disc;
    }
    .single-content ol{
        list-style: decimal;
    }
    .single-content li{
        margin-bottom: 6px;
    }
    .single-content a{
        color: var(--th-color-main);
        text-decoration: underline;
    }
    .single-content figure{
        margin-bottom: 20px;
    }
    .single-content blockquote{
        margin: 0px 0px 20px;
        padding: 15px 20px;
        background: var(--th-color-bg);
        border-left: 4px solid var(--th-color-main);
        border-radius: 0px 14px 14px 0px;
    }
    .single-content table{
        width: 100%;
        margin-bottom: 20px;
        border-collapse: collapse;
    }
    .single-content table td,
    .single-content table th{
        padding: 8px 12px;
        border: 1px solid var(--th-color-light);
    }
}
