

.search-section {
    position: relative;
}

/* ============================================================================================== */
/* ========================================= search advanced ==================================== */
/* ============================================================================================== */

#search-advanced-section {
    position: relative;
    height: 210px;
    padding-top: 50px;
    z-index: 10;
}
#search-advanced-section:before {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% - 50px);
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(var(--cpn-color-white),1);
    z-index: 1;
}
#search-advanced-section>.container {
    position: relative;
    z-index: 2;
}
#search-advanced-section .search-keyword-section {
    margin-top: -50px;
}
#search-advanced-section .search-filter-section {
    position: relative;
    padding: 20px 0;
    z-index: 1;
}

/* ============================================================================================== */
/* ============================================ search bar ====================================== */
/* ============================================================================================== */

#search-bar-section {
    position: relative;
    display: none;
    width: 100%;
    height: 65px;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(var(--cpn-color-gray-light),1);
    border-bottom: 1px solid rgba(var(--cpn-color-black), 0.1);
    z-index: 5;
    z-index: 90;
}
#search-bar-section.fixed {
    position: sticky;
    position: -webkit-sticky;
    display: block;
    z-index: 100;
    /* position: fixed; */
}
#search-bar-section .search-bar-row {
    position: relative;
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: stretch;
}
#search-bar-section .search-bar-row>.search-bar-col {
    position: relative;
}
#search-bar-section .search-bar-row>.search-bar-col.this-col-label {
    width: 70px;
    display: flex;
    align-items: center;
    font-weight: 600;
    padding-right: 30px;
}
#search-bar-section .search-bar-row>.search-bar-col.this-col-label:before {
    position: absolute;
    content: ":";
    line-height: 20px;
    height: 20px;
    width: 30px;
    text-align: center;
    right: 0;
    top: 50%;
    margin-top: -10px;
}
#search-bar-section .search-bar-row>.search-bar-col.this-col-filter-all {
    flex: 1 0 0;
}
#search-bar-section .search-bar-row>.search-bar-col.this-col-filter {
    width: 380px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#search-bar-section .search-bar-col.this-col-filter-all .slot-filter-row>.slot-filter-col {
    flex: none;
    width: 150px;
}
#search-bar-section .search-bar-col.this-col-filter-all .slot-filter-row>.slot-filter-col.this-col-filter-all {
    width: 200px;
    justify-content: flex-start;
    padding-left: 20px;
}

/* ============================================================================================== */
/* =========================================== search result ==================================== */
/* ============================================================================================== */

.search-section .onload-search-result {
    min-height: 500px;
}

/* //////////////////////////////////////////////////////////////////////// */

#project-advanced-search-topic,
#project-advanced-search-filter,
#project-advanced-search-result {
    position: relative;
}

/* ============================================================================================== */
/* =========================================== search topic ===================================== */
/* ============================================================================================== */

#project-advanced-search-topic {
    text-align: center;
}

/* ============================================================================================== */
/* ========================================== search filter ===================================== */
/* ============================================================================================== */

#project-advanced-search-filter {
    height: 230px;
    padding-top: 50px;
    z-index: 10;
}
#project-advanced-search-filter:before {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% - 50px);
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(var(--cpn-color-white),1);
    z-index: 1;
}
#project-advanced-search-filter>.container {
    position: relative;
    z-index: 2;
}


/* ============================================================================================== */
/* ========================================= search keyword ===================================== */
/* ============================================================================================== */

/* btn */
ul.search-keyword-btn-group,
ul.search-keyword-btn-group>li {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.search-keyword-btn-group {
    position: absolute;
    display: flex;
    top: 50%;
    right: 0;
    margin-top: -17.5px;
    opacity: 0;
    -webkit-transition: opacity var(--cpn-transition-duration-fast) ease;
    -moz-transition: opacity var(--cpn-transition-duration-fast) ease;
    -ms-transition: opacity var(--cpn-transition-duration-fast) ease;
    -o-transition: opacity var(--cpn-transition-duration-fast) ease;
    transition: opacity var(--cpn-transition-duration-fast) ease;
    visibility: hidden;
    z-index: 3;
}
ul.search-keyword-btn-group>li {
    position: relative;
}


ul.search-keyword-btn-group>li+li {
    margin-left: 10px;
    padding-left: 10px;
}
ul.search-keyword-btn-group>li+li:before {
    position: absolute;
    content: "";
    height: 45px;
    top: 50%;
    left: 0;
    margin-top: -22.5px;    
    border-left: 1px solid rgba(var(--cpn-color-black), 0.1);
}
ul.search-keyword-btn-group>li .search-keyword-btn {
    position: relative;
    width: 35px;
    height: 35px;
    font-size: 25px;
    line-height: 35px;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.search-keyword-section.has-keyword .search-keyword-btn-group {
    visibility: inherit;
    opacity: 1;
}


/* input */
.search-keyword-section .search-keyword-inner .search-keyword-input {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    margin: 0 !important;
}

/* --------------------------------------------------------------- */
/* ------------------ search keyword is card --------------------- */
/* --------------------------------------------------------------- */

.search-keyword-section.is-card {
    position: relative;    
}
.search-keyword-section.is-card,
.search-keyword-section.is-card .search-keyword-inner {
    height: 100px;
}
.search-keyword-section.is-card .search-keyword-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
}
.search-keyword-section.is-card .search-keyword-inner,
.search-keyword-section.is-card .search-keyword-inner>.form:before {
    border-radius: 20px;
}
.search-keyword-section.is-card .search-keyword-inner {
    position: relative;
    background-color: rgba(var(--cpn-color-white),1);
    box-shadow: 0 10px 40px rgba(var(--cpn-color-black), 0.13);
    overflow: hidden;
}
.search-keyword-section.is-card .search-keyword-inner>.form:before {
    position: absolute;
    content: "";
    /* width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; */
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
    border-radius: 10px;
    /* border: 3px solid rgba(var(--cpn-color-primary),0.2); */
    background-color: rgba(var(--cpn-color-gray-light), 1);
    opacity: 0;
    -webkit-transition: opacity var(--cpn-transition-duration) ease;
    -moz-transition: opacity var(--cpn-transition-duration) ease;
    -ms-transition: opacity var(--cpn-transition-duration) ease;
    -o-transition: opacity var(--cpn-transition-duration) ease;
    transition: opacity var(--cpn-transition-duration) ease;
    z-index: 1;
}
.search-keyword-section.is-card.focus-input .search-keyword-inner:before {
    opacity: 1;
}
.search-keyword-section.is-card .search-keyword-inner>.icon-search {
    position: absolute;
    width: 30px;
    height: 30px;
    font-size: 25px;
    line-height: 30px;
    left: 30px;
    top: 50%;
    margin-top: -17.5px;
    text-align: center;
    pointer-events: none;
    opacity: 1;
    -webkit-transition: opacity var(--cpn-transition-duration-fast) ease;
    -moz-transition: opacity var(--cpn-transition-duration-fast) ease;
    -ms-transition: opacity var(--cpn-transition-duration-fast) ease;
    -o-transition: opacity var(--cpn-transition-duration-fast) ease;
    transition: opacity var(--cpn-transition-duration-fast) ease;
}
.search-keyword-section.is-card .search-keyword-inner>.icon-search+.form .search-keyword-input {
    -webkit-transition: padding-left var(--cpn-transition-duration-fast) ease;
    -moz-transition: padding-left var(--cpn-transition-duration-fast) ease;
    -ms-transition: padding-left var(--cpn-transition-duration-fast) ease;
    -o-transition: padding-left var(--cpn-transition-duration-fast) ease;
    transition: padding-left var(--cpn-transition-duration-fast) ease;
    padding-left: 75px;
}

.search-keyword-section.is-card .search-keyword-inner>.form {
    position: relative;
    width: 100%;
    height: 100%;
    flex: 1 0 0;
}
.search-keyword-section.is-card .search-keyword-inner>.form.skeleton-loader {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 30px 0 75px;
}
.search-keyword-section.is-card .search-keyword-inner .search-keyword-input {
    position: relative;
    padding: 30px 140px 30px 30px;
    z-index: 2;
}
.search-keyword-section.is-card ul.search-keyword-btn-group {
    right: 30px;
}

.search-keyword-section.is-card.enable-result .search-keyword-inner {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.search-keyword-section.is-card.enable-result .search-keyword-result {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 50px;
    background-color: rgba(var(--cpn-color-white),1);
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    box-shadow: 0 40px 40px rgba(var(--cpn-color-black), 0.13);
}

/* filter btn */
.search-keyword-section.is-card .search-keyword-inner>.filter {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    border-left: 2px solid rgba(var(--cpn-color-black), 0.1);
}
.search-keyword-section.is-card .search-keyword-inner>.filter>.btn-open-filter-popup {
    width: 100%;
    height: 100%;
}
.search-keyword-section.is-card .search-keyword-inner>.filter>.btn-open-filter-popup,
.search-keyword-section.is-card .search-keyword-inner>.filter>.btn-open-filter-popup:before {
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -mos-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.search-keyword-section.is-card .search-keyword-inner>.filter>.btn-open-filter-popup:before {
    position: absolute;
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-radius: 5px 15px 15px 5px;
}
.search-keyword-section.is-card .search-keyword-inner>.filter>.btn-open-filter-popup:hover {
    color: rgba(var(--cpn-color-primary), 1);
}
.search-keyword-section.is-card .search-keyword-inner>.filter>.btn-open-filter-popup:hover:before {
    background-color: rgba(var(--cpn-color-primary), 0.15);
}

/* has keyword */
.search-keyword-section.is-card.has-keyword .search-keyword-inner>.icon-search+.form .search-keyword-input {
    padding-left: 30px;
}
.search-keyword-section.is-card.has-keyword .search-keyword-inner>.icon-search {
    opacity: 0;
}

/* --------------------------------------------------------------- */
/* ------------------ search keyword is home --------------------- */
/* --------------------------------------------------------------- */

.search-keyword-section.is-home,
.search-keyword-section.is-home>.search-keyword-inner {
    position: relative;
}
.search-keyword-section.is-home {
    height: 55px;
}
.search-keyword-section.is-home>.search-keyword-inner {
    width: 100%;
    height: 100%;
}
.search-keyword-section.is-home .search-keyword-input::placeholder {
    color: rgba(var(--cpn-color-black), 0.3);
}
.search-keyword-section.is-home.has-keyword .search-keyword-input {
    padding-right: 50px;
}

#search-filter-section {
    position: relative;
    padding: 30px 0;
    z-index: 1;
}
#search-keyword-section {
    position: relative;
    z-index: 2;
}
#search-keyword-section .search-keyword-section.is-card {
    margin-top: -50px;
}

/* ============================================================================================== */
/* ========================================== search result ===================================== */
/* ============================================================================================== */

#project-advanced-search-result {
    padding: 50px 0;
}

#search-result-head,
#search-result-fiter,
#search-result-body {
    position: relative;
}

.item-selected-filter {
    position: relative;
}
.item-selected-filter>.icon {
    width: 15px;
    height: 15px;
    font-size: 17px;
    line-height: 15px;
    text-align: center;
    cursor: pointer;
}
.item-selected-filter>.icon.opacity {
    opacity: 0.5;
    -webkit-transition: opacity 0.1s ease;
    -moz-transition: opacity 0.1s ease;
    -ms-transition: opacity 0.1s ease;
    -o-transition: opacity 0.1s ease;
    transition: opacity 0.1s ease;
}
.item-selected-filter>.icon.opacity:hover {
    opacity: 1;
}
.item-selected-filter>.icon+.text,
.item-selected-filter>.text+.icon {
    margin-left: 5px;
}

/* --------------------------------------------------------------- */
/* ------------------------- result head  ------------------------ */
/* --------------------------------------------------------------- */

#search-result-head .head-row,
#search-result-head .head-col {
    position: relative;
}
#search-result-head .head-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    line-height: 50px;
    height: 60px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(var(--cpn-color-black-dark), 0.2);
}
#search-result-head .head-col {
    width: inherit;
}
#search-result-head .head-col.this-col-left {
    flex: 1 0 0;
    padding-right: 15px;
}
#search-result-head .head-col.this-col-right {}
/* 
#search-result-head .head-row ul.slot-group,
#search-result-head .head-row ul.slot-group>li {
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
}
#search-result-head .head-row ul.slot-group {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
}
#search-result-head .head-row ul.slot-group>li+li {
    margin-left: 30px;
    padding-left: 30px;
}
#search-result-head .head-row ul.slot-group>li+li:before {
    position: absolute;
    content: "";
    height: 30px;
    top: 50%;
    left: 0;
    margin-top: -15px;
    border-left: 1px solid rgba(var(--cpn-color-black-dark), 0.2);
} */

.display-btn-group {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
}
.display-btn-group>.display-btn {
    position: relative;
    width: 25px;
    height: 25px;
    font-size: 22px;
    line-height: 25px;
    margin: 0;
    padding: 0;
    text-align: center;
    cursor: pointer;
    opacity: 0.2;
    -webkit-transition: var(--cpn-transition-all);
    -moz-transition: var(--cpn-transition-all);
    -ms-transition: var(--cpn-transition-all);
    -o-transition: var(--cpn-transition-all);
    transition: var(--cpn-transition-all);
}
.display-btn-group>.display-btn+.display-btn {
    margin-left: 10px;
}
.display-btn-group>.display-btn:hover,
.display-btn-group>.display-btn.active {
    opacity: 1;
}

/* --------------------------------------------------------------- */
/* ------------------------ result fiter  ------------------------ */
/* --------------------------------------------------------------- */

/* --------------------------------------------------------------- */
/* ------------------------- result body  ------------------------ */
/* --------------------------------------------------------------- */

#search-result-body {
    margin-top: 30px;
    /* background-color: rgba(255,255,0,0.2); */
}
#search-result-body,
#search-result-body .not-found {
    min-height: 500px;
}

/* ============================================================================================== */
/* ========================================== card project ====================================== */
/* ============================================================================================== */

/* xxl */
@media (min-width: 1400px) {}

/* xxl - 1 */
@media (min-width:1500px) and (max-width: 1599.98px) {}

/* xxl - 2 */
@media (min-width: 1400px) and (max-width: 1499.98px) {}

/* xl */
@media (min-width: 1200px) and (max-width: 1399.98px) {}

/* lg */
@media (min-width: 992px) and (max-width: 1199.98px) {

    /* ============================================================================================== */
    /* ============================================= loading ======================================== */
    /* ============================================================================================== */

    /* search advanced */
    /* #search-advanced-section {
        padding: 0;
        height: auto;
    }
    #search-advanced-section:before {
        display: none;
    }    
    #search-advanced-section .search-keyword-section {
        margin-top: 0;        
    }
    #search-advanced-section .search-filter-section {
        display: none;
    } */
    #search-advanced-section {
        height: 180px;
        padding-top: 40px;
    }
    #search-advanced-section:before {
        height: calc(100% - 40px);
    }
    .slot-filter-row[data-filter-show="4"]>.slot-filter-col.this-col-filter:nth-child(4) {
        display: none;
    }

    /* ============================================================================================== */
    /* ========================================= search keyword ===================================== */
    /* ============================================================================================== */

    /* btn */
    ul.search-keyword-btn-group>li .search-keyword-btn {
        width: 30px;
        height: 30px;
        font-size: 22px;
        line-height: 30px;
    }

    /* --------------------------------------------------------------- */
    /* ------------------ search keyword is card --------------------- */
    /* --------------------------------------------------------------- */

    .search-keyword-section.is-card,
    .search-keyword-section.is-card .search-keyword-inner {
        height: 80px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.form.skeleton-loader {
        padding-left: 70px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.icon-search {
        font-size: 22px;
        left: 25px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.form.skeleton-loader {
        padding-left: 70px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.icon-search+.form .search-keyword-input {
        padding-left: 70px;
    }
    .search-keyword-section.is-card.has-keyword .search-keyword-inner>.icon-search+.form .search-keyword-input {
        padding-right: 120px;
    }
    .search-keyword-section.is-card ul.search-keyword-btn-group {
        right: 20px;
    }

}

/* md */
@media (min-width: 768px) and (max-width: 991.98px) {

    /* ============================================================================================== */
    /* ============================================= loading ======================================== */
    /* ============================================================================================== */

    /* search advanced */
    #search-advanced-section {
        padding: 0;
        height: auto;
    }
    #search-advanced-section:before {
        display: none;
    }    
    #search-advanced-section .search-keyword-section {
        margin-top: 0;        
    }
    #search-advanced-section .search-filter-section {
        display: none;
    }
   
    /* ============================================================================================== */
    /* ========================================= search keyword ===================================== */
    /* ============================================================================================== */

    /* btn */
    ul.search-keyword-btn-group>li .search-keyword-btn {
        width: 30px;
        height: 30px;
        font-size: 22px;
        line-height: 30px;
    }

    /* --------------------------------------------------------------- */
    /* ------------------ search keyword is card --------------------- */
    /* --------------------------------------------------------------- */

    .search-keyword-section.is-card,
    .search-keyword-section.is-card .search-keyword-inner {
        height: 80px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.form.skeleton-loader {
        padding-left: 70px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.icon-search {
        font-size: 22px;
        left: 25px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.form.skeleton-loader {
        padding-left: 70px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.icon-search+.form .search-keyword-input {
        padding-left: 70px;
    }
    .search-keyword-section.is-card.has-keyword .search-keyword-inner>.icon-search+.form .search-keyword-input {
        padding-right: 110px;
    }
    .search-keyword-section.is-card ul.search-keyword-btn-group {
        right: 20px;
    }

}

/* sm - xs */
@media (max-width: 767.98px) {

    .search-topic-section .description {
        padding: 0 !important;
    }

    .display-btn-group>.display-btn+.display-btn {
        margin-left: 5px;
    }  

    /* ============================================================================================== */
    /* ============================================= loading ======================================== */
    /* ============================================================================================== */

    #search-result-head.loading .head-col.this-col-left {
        display: none;
    }

    /* search advanced */
    #search-advanced-section {
        padding: 0;
        height: auto;
    }
    #search-advanced-section:before {
        display: none;
    }    
    #search-advanced-section .search-keyword-section {
        margin-top: 0;        
    }
    #search-advanced-section .search-filter-section {
        display: none;
    }
    .search-keyword-section.is-card .search-keyword-inner>.form.skeleton-loader {
        padding-left: 55px;
    }

    /* ============================================================================================== */
    /* ========================================= search keyword ===================================== */
    /* ============================================================================================== */

    /* btn */
    ul.search-keyword-btn-group {
        margin-top: -15px;        
    }
    ul.search-keyword-btn-group>li+li:before {
        height: 30px;
        margin-top: -15px;  
    }
    ul.search-keyword-btn-group>li .search-keyword-btn {
        width: 30px;
        height: 30px;
        font-size: 20px;
        line-height: 30px;
    }

    /* --------------------------------------------------------------- */
    /* ------------------ search keyword is card --------------------- */
    /* --------------------------------------------------------------- */

    .search-keyword-section.is-card,
    .search-keyword-section.is-card .search-keyword-inner {
        height: 65px;
    }
    .search-keyword-section.is-card .search-keyword-inner {
        box-shadow: 0 10px 30px rgba(var(--cpn-color-black), 0.13);
    }
    

    .search-keyword-section.is-card .search-keyword-inner,
    .search-keyword-section.is-card .search-keyword-inner>.form:before {
        border-radius: 20px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.icon-search {
        width: 30px;
        height: 30px;
        font-size: 20px;
        line-height: 30px;
        left: 15px;
        margin-top: -15px;
    }

    /* input */
    .search-keyword-section.is-card .search-keyword-inner .search-keyword-input {
        padding: 10px 20px;
    }

    /* btn */
    .search-keyword-section.is-card ul.search-keyword-btn-group {
        right: 10px;
    }
    .search-keyword-section.is-card .search-keyword-inner>.filter {
        width: 65px;
    }

    /* has keyword */
    .search-keyword-section.is-card .search-keyword-inner>.icon-search+.form .search-keyword-input {
        padding-left: 50px;
    }
    .search-keyword-section.is-card.has-keyword .search-keyword-inner>.icon-search+.form .search-keyword-input {
        padding-left: 20px;
        padding-right: 100px;
    }

    /* ============================================================================================== */
    /* ========================================== search result ===================================== */
    /* ============================================================================================== */

    .search-section .onload-search-result {
        min-height: 300px;
    }

    /* --------------------------------------------------------------- */
    /* ------------------------- result head  ------------------------ */
    /* --------------------------------------------------------------- */

    #search-result-head .head-row {
        height: auto;
        min-height: auto;
        flex-wrap: wrap;
        border: none;
        padding: 0;
    }
    #search-result-head .head-col {
        flex: none !important;
        width: 100%;
        padding: 0 !important;
    }
    #search-result-head .head-col.this-col-left {
        line-height: 20px;        
    }

    #search-result-head .head-row.has-left .head-col.this-col-left {
        /* display: block !important; */
        padding-bottom: 10px !important;
        border-bottom: 1px solid rgba(var(--cpn-color-black-dark), 0.2);
    }

    #search-result-head .head-row.has-left.has-right .head-col.this-col-left {
        margin-bottom: 10px !important;
        padding-bottom: 0 !important;
        border-bottom:none !important;
    }
    #search-result-head .head-row.has-left.has-right .head-col.this-col-right {
        padding: 15px 0 !important;
        border-top: 1px solid rgba(var(--cpn-color-black-dark), 0.2);
        border-bottom: 1px solid rgba(var(--cpn-color-black-dark), 0.2);
        min-height: 57px;
    }

}

/* sm */
@media (min-width: 576px) and (max-width: 767.98px) {}

/* xs */
@media (max-width: 575.98px) {}

/* xs custom */
@media (max-width: 399.98px) {}