/* <=== vhprojecpg ===> */
.vhprojecpg .pdpadd{
    padding: 80px 0 70px;
}
.vhprojecpg .pdwrap{
    padding: 0 40px;
}
/* <=== vhprojecpg ===> */

/* <=== tpprojecmm ===> */

.tpprojecmm{
    position: relative;
    z-index: 2;
    margin-bottom: 35px;
}
.tpprojecmm::before{
    content: '';
    position: absolute;
    top: 0;
    left: -10px;
    height: 1px;
    width: calc(100% + 20px);
    background-color: #01215a;
}
.tpprojecmm::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: -10px;
    height: 1px;
    width: calc(100% + 20px);
    background-color: #01215a
}
.tpprojecmm .mmconts > ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.tpprojecmm .mmconts > ul > li{
    margin-right: 40px;
}
.tpprojecmm .mmconts > ul > li:last-child{
    margin-right: 0;
}
.tpprojecmm .mmconts > ul > li > .m-sub{
    position: relative;
}
.tpprojecmm .mmconts > ul > li > .m-sub .button-submenu{
    display: none;
}
.tpprojecmm .mmconts > ul > li > a, .tpprojecmm .mmconts > ul > li > .m-sub > a{
    padding: 15px 0;
    position: relative;
    text-transform: uppercase;
    display: block;
    font-size: 15px;
    line-height: 25px;
    font-weight: bold;
}
.tpprojecmm .mmconts > ul > li > a span, .tpprojecmm .mmconts > ul > li > .m-sub > a span{
    display: inline-block;
    position: relative;
    padding-right: 15px;
}
.tpprojecmm .mmconts > ul > li > a span::before, .tpprojecmm .mmconts > ul > li > .m-sub > a span::before{
    content: '\f0d7';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.tpprojecmm .mmconts > ul > li > a span::after, .tpprojecmm .mmconts > ul > li > .m-sub > a span::after{
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 15px solid #eeeeee;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.tpprojecmm .mmconts > ul > li:hover > a span::after, .tpprojecmm .mmconts > ul > li:hover > .m-sub > a span::after{
    opacity: 1;
    visibility: initial;
}
.tpprojecmm .mmconts > ul > li > ul{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 25px 40px 10px;
    background-color: #eeeeee;
    display: flex;
    flex-wrap: wrap;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.tpprojecmm .mmconts > ul > li:hover > ul{
    opacity: 1;
    visibility: initial;
}
.tpprojecmm .mmconts > ul > li > ul li{
    width: 25%;
    margin-bottom: 15px;
}
.tpprojecmm .mmconts > ul > li > ul li a{
    font-size: 15px;
    line-height: 23px;
}
/* <=== tpprojecmm ===> */

/* <=== tpprojechh ===> */
.tpprojechh .hhlist{
    margin-bottom: 30px;
}
.tpprojechh .hhgrip{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
}
.tpprojechh .hhgrip > div{
    padding: 0 20px;
    width: 50%;
    margin-bottom: 40px;
}
.itprojechh{
    position: relative;
    overflow: hidden;
}
.itprojechh .decss{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    padding: 15px 30px 20px;
}
.itprojechh .decss::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200%;
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
    pointer-events: none;
    z-index: -1;
}
.itprojechh .decss::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    height: 0;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
    pointer-events: none;
    z-index: -1;
}
.itprojechh:hover .decss::after{
    height: 100%;
}
.itprojechh .dstitle{
    transform: translateY(30px);
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.itprojechh:hover .dstitle{
    transform: unset;
}
.itprojechh .dstitle, .itprojechh .dstitle a{
    color: #fff;
}
.itprojechh:hover .dstitle, .itprojechh:hover .dstitle a{
    color: #a80000;
}
.itprojechh .dstitle, .itprojechh .dstitle h3{
    font-size: 24px;
    line-height: 36px;
    font-weight: bold;
}
.itprojechh .dsconts{
    margin-top: 10px;
    color: #666666;
    font-size: 15px;
    line-height: 25px;
    opacity: 0;
}
.itprojechh:hover .dsconts{
    opacity: 1;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
/* <=== tpprojechh ===> */

/* <=== tpprojecbb ===> */
.tpprojecbb{
    margin: 0 -10px;
    margin-bottom: 10px;
}
.tpprojecbb .ifgrip{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px;
}
.tpprojecbb .ifgrip > div{
    padding: 0 10px;
    width: calc(100% / 6);
    margin-bottom: 20px;
}
.itprojecbb{
    text-align: center;
    cursor: pointer;
    position: relative;
}
.itprojecbb .vinfo{
    position: relative;
}
.itprojecbb .vlink{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.itprojecbb .vlink a{
    display: block;
    width: 100%;
    height: 100%;
}
.itprojecbb .vicon{
    width: 100px;
    height: 100px;
    margin: 0 auto;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    border-radius: 100%;
    background-color: #01215a;
    color: #fff;
}
.itprojecbb:hover .vicon, .itprojecbb.active .vicon{
    animation: pulse_toab 2s infinite;
}
@keyframes pulse_toab {
    0% {
        box-shadow: 0 0 0 0 #01215a;
    }

    70% {
        box-shadow: 0 0 0 15px rgba(239, 67, 67, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(239, 67, 67, 0);
    }
}
.itprojecbb.active .vicon{

}
.itprojecbb .vicon img{
    max-width: 55%;
    max-height: 55%;
}
.itprojecbb .dtitle, .itprojecbb .dtitle h3{
    font-size: 18px;
    line-height: 27px;
    font-weight: bold;
}
.itprojecbb .dtitle, .itprojecbb .dtitle a{
    color: #01215a;
}
.itprojecbb.active .dtitle a{
    color: #a80000;
}
.itprojecbb .vsubs{
    position: absolute;
    top: calc(100% + 20px);
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    padding: 10px;
    background-color: #fff;
    box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    z-index: 3;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.itprojecbb .vsubs::after{
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    height: 20px;
    width: 100%;
}
.itprojecbb:hover .vsubs{
    opacity: 1;
    pointer-events: auto;
}
.itprojecbb .vsubs::before{
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 27px;
    height: 17px;
    background-image: url('../images/itam.png');
    background-position: bottom center;
    background-size: 100%;
    background-repeat: no-repeat;
}
.itprojecbb .vsubs li{
    font-size: 15px;
    line-height: 25px;
    margin-bottom: 5px;
}
.itprojecbb .vsubs li:last-child{
    margin-bottom: 0;
}
.itprojecbb .vsubs li a{
    display: block;
    padding: 10px 15px;
    border-radius: 5px;
}
.itprojecbb .vsubs li:hover a, .itprojecbb .vsubs li.active a{
    background-color: #1a376a;
    color: #fff;
}
/* <=== tpprojecbb ===> */

/* <=== gdbanners ===> */
.gdbanners{
    position: relative;
}
.itbannerpg{
    position: relative;
    z-index: 1;
}
.itbannerpg::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.2;
    pointer-events: none;
    z-index: 0;
}
.itbannerpg img{
    width: 100%;
}
.vhtitlecrd{
    position: absolute;
    z-index: 2;
    bottom: 120px;
    left: 0;
    width: 100%;
}
.vhtitlecrd .breadcrumb ul{
    justify-content: center;
    text-shadow: 0 5px 10px rgba(0,0,0,0.3);
}
.vhtitlecrd .vnttitle{
    text-shadow: 0 5px 10px rgba(0,0,0,0.3);
}
/* <=== gdbanners ===> */

/* <=== vhdetailpg ===> */
.tpdetailaa{
    margin-bottom: 50px;
}
.tpdetailaa .aagrip{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -40px;
}
.tpdetailaa .aagrip > div{
    padding: 0 40px;
}
.tpdetailaa .aagrip .mcol{
    width: calc(50% + 40px);
}
.tpdetailaa .aagrip .hcol{
    width: calc(50% - 40px);
}
.tpdetailaa .ifcont{
    margin-bottom: 30px;
}
.tpdetailaa .ifcont li{
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid #eeeeee;
    display: flex;
    font-size: 16px;
    line-height: 24px;
}

.tpdetailaa .ifcont li:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none
}
.tpdetailaa .ifcont li .ticon{
    width: 30px;
    padding-right: 10px;
    color: #01215a;
    line-height: 20px;
    position: relative;
    top: 5px;
}
.tpdetailaa .ifcont li .ttext{
    width: calc(100% - 30px);
}
.tpdetailaa .ifcont li .ttext .tm{
    color: #01215a;
    font-weight: bold;
    margin-bottom: 2px;
}
.tpdetailaa .ifcont li:nth-child(even) .ticon, .tpdetailaa .ifcont li:nth-child(even) .ttext .tm{
    color: #39a1c8;
}
.tpdetailaa .iflink{
    display: flex;
}
.tpdetailaa .iflink a{
    display: flex;
    align-items: center;
    align-content: center;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold;
    text-transform: uppercase;
    background-color: #a80000;
    color: #fff;
    padding: 8px 28px;
    border-radius: 5px;
}
.tpdetailaa .iflink a i{
    margin-right: 12px;
}
.tpdetailaa .iflink a:hover{
    background-color: #01215a;
}
.tpdetailaa .dscont{
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 30px;
}
.tpdetailaa .dsmaps img, .tpdetailaa .dsmaps iframe{
    width: 100%;
}
.tpdetailbb .ctgrip{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
.tpdetailbb .ctgrip > div{
    padding: 0 15px;
    width: calc(100% / 3);
    margin-bottom: 30px;
}
.italbumpop a{
    display: block;
    padding-top: 65.56%;
    position: relative;
    overflow: hidden;
}
.italbumpop a img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.italbumpop a::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0;
    z-index: 1;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.italbumpop a:hover::before{
    opacity: 0.5;
}
.italbumpop a::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    width: 118px;
    height: 118px;
    z-index: 2;
    background-image: url('../images/album/izoom.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.italbumpop a:hover::after{
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
/* <=== vhdetailpg ===> */

/* <=== vhortherpg ===> */
.vhortherpg .orpadd{
    padding: 80px 0;
}
.itorthermm{
    position: relative;
}
.itorthermm .thumb a::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: #000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
    z-index: 1;
    pointer-events: none;
}
.itorthermm .decss{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px 20px 25px 30px;
    z-index: 2;
    pointer-events: none;
}
.itorthermm .dstitle, .itorthermm .dstitle h3{
    font-size: 24px;
    line-height: 36px;
    font-weight: bold;
}
.itorthermm .dstitle, .itorthermm .dstitle a{
    color: #fff;
}
/* <=== vhortherpg ===> */
@media all and (max-width: 1350px){
    .vhprojecpg .pdwrap{
        padding: 0 10px;
    }
    .tpprojechh .hhgrip{
        padding: 0 10px;
    }
    .tpprojechh .hhgrip > div{
        margin-bottom: 10px;
    }
}
@media all and (max-width: 1200px){
    /* <=== vhdetailpg ===> */
    .tpdetailaa .aagrip{
        margin: 0 -15px;
    }
    .tpdetailaa .aagrip > div{
        padding: 0 15px;
    }
    .tpdetailaa .aagrip .mcol{
        width: calc(50% + 15px);
    }
    .tpdetailaa .aagrip .hcol{
        width: calc(50% - 15px);
    }
    /* <=== vhdetailpg ===> */


}
@media all and (min-width: 992px){
    .tpprojecmm .mmconts > ul > li > ul{
        display: flex!important;
    }
}
@media all and (max-width: 991px){
    /* <=== vhprojecpg ===> */
    .vhprojecpg .pdpadd{
        padding: 50px 0 50px;
    }

    /* <=== vhprojecpg ===> */

    /* <=== tpprojecmm ===> */
    .tpprojecmm{
        padding: 10px 0;
    }
    .tpprojecmm::before, .tpprojecmm::after{
        width: 100%;
        left: 0;
    }
    .tpprojecmm .mmconts > ul > li{
        margin-right: 0;
        width: 100%;
    }
    .tpprojecmm .mmconts > ul > li > .m-sub{
        display: block;
        position: relative;
    }
    .tpprojecmm .mmconts > ul > li > a span, .tpprojecmm .mmconts > ul > li > .m-sub > a span{
        padding-right: 0;
    }
    .tpprojecmm .mmconts > ul > li > a, .tpprojecmm .mmconts > ul > li > .m-sub > a{
        padding: 3px 30px 3px 0;
    }
    .tpprojecmm .mmconts > ul > li > a span::before, .tpprojecmm .mmconts > ul > li > .m-sub > a span::before{
        display: none;
    }
    .tpprojecmm .mmconts > ul > li > .m-sub .button-submenu{
        display: block;
        position: absolute;
        right: 0;
        width: 30px;
        height: 100%;
        top: 0;
        cursor: pointer;
        z-index: 1;
    }
    .tpprojecmm .mmconts > ul > li > .m-sub .button-submenu::before{
        content: '\f0d7';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .tpprojecmm .mmconts > ul > li > a span::before, .tpprojecmm .mmconts > ul > li > .m-sub > a span::before,
    .tpprojecmm .mmconts > ul > li > a span::after, .tpprojecmm .mmconts > ul > li > .m-sub > a span::after{
        display: none;
    }
    .tpprojecmm .mmconts > ul > li > ul{
        position: relative;
        padding: 5px 15px 5px 15px;
        opacity: 1;
        visibility: initial;
        top: 0;
        background-color: transparent;
        display: none;
        -webkit-transition: all 0s linear;
        -o-transition: all 0s linear;
        transition: all 0s linear;
    }
    .tpprojecmm .mmconts > ul > li > ul li{
        width: 100%;
        margin-bottom: 10px;
    }
    .tpprojecmm .mmconts > ul > li > ul li a{
        display: block;
        position: relative;
        padding-left: 10px;
        font-size: 15px;
    }
    .tpprojecmm .mmconts > ul > li > ul li a::before{
        content: '';
        position: absolute;
        left: 0;
        top: 12px;
        width: 3px;
        height: 3px;
        background-color: #333;
        border-radius: 100%;
    }
    /* <=== tpprojecmm ===> */

    /* <=== tpprojechh ===> */
    .itprojechh .decss{
        padding: 20px 20px 15px;
    }
    .itprojechh .decss::after{
        display: none;
    }
    .itprojechh .dsconts{
        display: none;
    }
    .itprojechh .dstitle{
        transform: unset;
    }
    .itprojechh .dstitle, .itprojechh .dstitle h3{
        font-size: 16px;
        line-height: 25px;
    }
    .tpprojechh .hhlist{
        margin-bottom: 20px;
    }
    /* <=== tpprojechh ===> */

    /* <=== tpprojecbb ===> */
    .tpprojecbb .ifgrip > div{
        width: 25%;
    }
    .itprojecbb .vicon{
        width: 60px;
        height: 60px;
        margin-bottom: 8px;
    }
    .itprojecbb .dtitle, .itprojecbb .dtitle h3{
        font-size: 14px;
        line-height: 20px;
    }
    .tpprojecbb .ifgrip{
        margin: 0 -5px;
    }
    .tpprojecbb .ifgrip > div{
        padding: 0 5px;
        margin-bottom: 12px;
    }
    .itprojecbb .vinfo{
        padding-bottom: 20px;
    }
    .itprojecbb .vbuton{
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 20px;
        z-index: 2;
    }
    .itprojecbb .vbuton::before{
        content: '\f0d7';
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, 0%);
    }
    /* <=== tpprojecbb ===> */

    /* <=== gdbanners ===> */
    .vhtitlecrd{
        position: static;
        padding: 15px 0 20px;
        background-color: #01215a;
    }
    .vhtitlecrd .vnttitle, .vhtitlecrd .vnttitle h1, .vhtitlecrd .vnttitle h2, .vhtitlecrd .vnttitle h3{
        font-size: 20px;
        line-height: 30px;
    }
    /* <=== gdbanners ===> */

    /* <=== vhdetailpg ===> */
    .tpdetailaa .aagrip .mcol{
        width: 100%;
        margin-bottom: 20px;
    }
    .tpdetailaa .aagrip .hcol{
        width: 100%;
    }
    .tpdetailaa .ifcont{
        margin-bottom: 20px;
    }
    .tpdetailaa .dscont{
        margin-bottom: 20px;
    }
    .tpdetailaa{
        margin-bottom: 30px;
    }
    .tpdetailbb .ctgrip{
        margin: 0 -5px;
    }
    .tpdetailbb .ctgrip > div{
        padding: 0 5px;
        margin-bottom: 10px;
    }
    .italbumpop a::before, .italbumpop a::after{
        display: none;
    }
    /* <=== vhdetailpg ===> */

    /* <=== vhortherpg ===> */
    .vhortherpg .orpadd{
        padding: 50px 0 60px;
    }
    .itorthermm .decss{
        padding: 20px;
    }
    .itorthermm .dstitle, .itorthermm .dstitle h3{
        font-size: 18px;
        line-height: 25px;
    }
    /* <=== vhortherpg ===> */
}
@media all and (max-width: 767px){
    /* <=== tpprojechh ===> */
    .tpprojechh .hhgrip > div{
        width: 100%;
    }
    .itprojechh:hover .dstitle, .itprojechh:hover .dstitle a{
        color: #fff;
    }
    /* <=== tpprojechh ===> */

    /* <=== tpprojecbb ===> */
    .tpprojecbb .ifgrip > div{
        width: calc(100% / 3);
    }
    .tpprojecbb .ifgrip > div:nth-child(1) .itprojecbb .vsubs, .tpprojecbb .ifgrip > div:nth-child(4) .itprojecbb .vsubs,
    .tpprojecbb .ifgrip > div:nth-child(7) .itprojecbb .vsubs, .tpprojecbb .ifgrip > div:nth-child(10) .itprojecbb .vsubs{
        left: 0;
        transform: unset;
    }
    .tpprojecbb .ifgrip > div:nth-child(3) .itprojecbb .vsubs, .tpprojecbb .ifgrip > div:nth-child(6) .itprojecbb .vsubs,
    .tpprojecbb .ifgrip > div:nth-child(9) .itprojecbb .vsubs, .tpprojecbb .ifgrip > div:nth-child(12) .itprojecbb .vsubs{
        right: 0;
        transform: unset;
        left: unset;
    }
    .itprojecbb .vsubs{
        top: 100%;
    }
    .itprojecbb .vsubs::before{
        display: none;
    }
    /* <=== tpprojecbb ===> */

    /* <=== vhdetailpg ===> */
    .tpdetailaa .iflink a{
        width: 100%;
        justify-content: center;
    }
    .tpdetailbb .ctgrip > div{
        width: 50%;
    }
    /* <=== vhdetailpg ===> */
}