:root {
    --theme_color: #10358B !important;
    --subtheme_color: #000;
    --hover_color: #000;
    --title_color: #000616;
    --content_color: #6e7077;
    --bg_color: linear-gradient(to right, #10358B, #061B5D) !important
}

html {
    font-size: clamp(7.5px, 0.522vw, 14px)
}

ul {
    list-style: none
}

a {
    color: inherit;
    font-size: inherit;
    text-decoration: none
}

i {
    font-style: normal
}

.swiper_box {
    position: relative
}

.swiper_content {
    max-width: 147rem;
    margin: 0 auto;
    position: relative;
    padding: 1.5rem;
    overflow: hidden
}

button,
input,
textarea {
    outline: none;
    border: none;
    font-family: unset;
    color: var(--title_color)
}

input[type="submit"],
button {
    cursor: pointer
}

textarea {
    resize: none
}

input[type="checkbox"] {
    cursor: pointer;
    appearance: none
}

input[type="number"] {
    -moz-appearance: textfield
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

select {
    cursor: pointer;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    font-family: unset;
    color: var(--title_color)
}

.center {
    text-align: center
}

.flex_start {
    justify-content: flex-start
}

.flex_center {
    justify-content: center
}

.flex_end {
    justify-content: flex-end
}

.flex_top {
    align-items: flex-start
}

.flex_middle {
    align-items: center
}

.flex_bottom {
    align-items: flex-end
}

body {
    font-size: 1.6rem;
    word-break: break-word;
    color: var(--title_color);
    font-family: 'SourceHanSansCN', sans-serif
}

body.fixed {
    overflow: hidden;
    padding-right: 17px
}

.only_mobile {
    display: none
}

.content .content {
    padding: 0
}

.gap {
    gap: 2rem
}

li.swiper-slide {
    height: auto
}

.grecaptcha-badge {
    visibility: hidden
}

#fullscreen-loader {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center
}

#fullscreen-loader::after {
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 8px solid var(--theme_color);
    animation: l20-1 0.8s infinite linear alternate, l20-2 1.6s infinite linear
}

@keyframes l20-1 {
    0% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%)
    }

    12.5% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0%)
    }

    25% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 100%, 100% 100%, 100% 100%)
    }

    50% {
        clip-path: polygon(50% 50%, 0 0, 50% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100%)
    }

    62.5% {
        clip-path: polygon(50% 50%, 100% 0, 100% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100%)
    }

    75% {
        clip-path: polygon(50% 50%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 50% 100%, 0% 100%)
    }

    100% {
        clip-path: polygon(50% 50%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0% 100%)
    }
}

@keyframes l20-2 {
    0% {
        transform: scaleY(1) rotate(0deg)
    }

    49.99% {
        transform: scaleY(1) rotate(135deg)
    }

    50% {
        transform: scaleY(-1) rotate(0deg)
    }

    100% {
        transform: scaleY(-1) rotate(-135deg)
    }
}

.img.img_cv {
    overflow: hidden
}

.img.img_cv img {
    object-fit: cover
}

.img.img_ct img {
    object-fit: contain
}

.img.img_ab {
    position: relative
}

.img.img_ab img {
    position: absolute;
    left: 0;
    top: 0
}

.img img {
    width: 100%;
    height: 100%;
    display: block;
    transition: all 0.5s;
    aspect-ratio: inherit
}

.btn {
    display: inline-block;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
    color: #fff;
    border-radius: 100px;
    font-size: 1.7rem;
    background-image: linear-gradient(to right, #10358B, #061B5D, #10358B, #061B5D);
    background-size: 300%;
    background-position: left;
    padding: 1.6rem 3rem 1.9rem;
    min-width: 17rem;
    font-weight: 400
}

.btn:hover {
    background-position: right
}

.head h1 {
    font-size: 6rem;
    line-height: 6.6rem;
    font-weight: 700
}

.head h1 span {
    color: var(--theme_color)
}

.head strong {
    font-size: 1.6rem;
    font-weight: 500;
    display: block;
    color: var(--theme_color);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin-bottom: 1.1rem
}

.head h2 {
    font-size: 5rem;
    line-height: 6.8rem;
    font-weight: 700
}

header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 996;
    width: 100%;
    transition: all 0.3s;
    background-color: #fff
}

header.sticky {
    box-shadow: 0 0 15px rgba(0, 0, 0, .1)
}

header .left {
    display: flex;
    align-items: center;
    flex: 1
}

header .logo {
    display: block;
    overflow: hidden;
    position: relative;
    text-indent: -999px
}

header .logo img {
    display: block;
    width: auto;
    height: 4.762672rem
}

header .logo p {
    position: absolute;
    z-index: -1;
    inset: 0
}

header nav .menu {
    display: flex;
    gap: 3.6rem
}

header nav .menu>li {
    position: relative;
    z-index: 2
}

header nav .menu>li>a {
    display: block;
    font-weight: 500;
    transition: all 0.3s;
    line-height: 9rem;
    letter-spacing: .3px;
    font-size: 1.7rem
}

header nav .menu>li.current-menu-item>a,
header nav .menu>li.current-menu-parent>a,
header nav .menu>li:hover>a {
    color: var(--theme_color)
}

header nav .menu>li.special {
    display: flex;
    align-items: center
}

header nav .menu>li.special>a {
    color: #fff;
    background-image: var(--bg_color);
    border-radius: 100px;
    padding: .9rem 2.4rem;
    line-height: normal;
    transition: all 0.3s
}

header nav .menu>li.special>a:hover {
    opacity: .85;
    color: #fff
}

header nav .menu>li:hover ul {
    opacity: 1;
    pointer-events: all;
    padding: 1.6rem 2.4rem
}

header nav .menu>li:hover ul li {
    transform: translate(0)
}

header nav .menu>li.btn_mega_menu .sub-menu {
    display: none
}

header nav .sub-menu {
    left: -2.4rem;
    position: absolute;
    min-width: 20rem;
    background-color: #fff;
    padding: 1.6rem 2.4rem 0;
    box-shadow: 0 .2rem .5rem rgba(0, 0, 0, .1);
    display: block;
    pointer-events: none;
    opacity: 0;
    transition: all 0.3s;
    z-index: -1
}

header nav .sub-menu>li {
    margin-bottom: .5rem;
    transition: all 0.4s;
    transform: translateY(-1.6rem)
}

header nav .sub-menu>li>a {
    display: block;
    padding: .8rem 0;
    transition: all 0.3s;
    font-size: 1.5rem;
    position: relative
}

header nav .sub-menu>li>a:hover {
    color: var(--theme_color)
}

header .btns {
    gap: 4rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 9rem;
    margin-left: 1.6%
}

header .btn_menu {
    display: none
}

header .btn {
    min-width: unset;
    font-size: 1.6rem;
    padding: 1.3rem 3.55rem 1.5rem
}

footer .footer_main {
    padding: 9.3rem 0 12.4rem
}

footer .footer_main .flex {
    gap: 5.1rem 2rem
}

footer .slide_intro {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem
}

footer .slide_intro .logo {
    display: block;
    overflow: hidden;
    position: relative;
    text-indent: -999px;
    max-width: 34.4rem;
    max-width: 10.5rem;
    max-width: 21rem;
    flex: 1
}

footer .slide_intro .logo img {
    display: block;
    width: 100%;
    height: auto
}

footer .slide_intro .logo p {
    position: absolute;
    z-index: -1;
    inset: 0
}

footer .slide_intro p {
    opacity: .85;
    line-height: 3rem;
    margin: 2.6rem 0 2rem
}

footer .slide_intro .social {
    gap: 2rem 1.9rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: .5rem
}

footer .slide_intro .social li {
    position: relative;
    z-index: 2
}

footer .slide_intro .social li:hover .qrcode {
    opacity: 1;
    pointer-events: all;
    transform: translate(-50%, .8rem)
}

footer .slide_intro .social a,
footer .slide_intro .social span {
    opacity: 1;
    display: block;
    width: 4.9rem;
    height: 4.9rem;
    border-radius: 50%;
    border: 1px solid #dbdbdb;
    overflow: hidden;
    text-indent: -999px;
    position: relative;
    transition: all 0.3s
}

footer .slide_intro .social a::after,
footer .slide_intro .social span::after {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    background: no-repeat center / contain;
    transition: all 0.3s
}

footer .slide_intro .social a:hover,
footer .slide_intro .social span:hover {
    background-color: var(--theme_color);
    border-color: var(--theme_color)
}

footer .slide_intro .social a:hover::after,
footer .slide_intro .social span:hover::after {
    filter: contrast(0) brightness(2)
}

footer .slide_intro .social .qrcode {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    padding: 1rem;
    border-radius: 6px;
    background-color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s;
    box-shadow: 0 0 10px rgba(0, 0, 0, .11)
}

footer .slide_intro .social .qrcode img {
    width: 12rem;
    height: 12rem;
    display: block
}

footer .slide_intro .social .wechat span::after {
    background-image: url(../../../../../themes/sytech/assets/img/wechat.svg)
}

footer .slide_intro .social .weibo a::after {
    background-image: url(../../../../../themes/sytech/assets/img/weibo.svg)
}

footer .slide_intro .social .redbbok a::after {
    background-image: url(../../../../../themes/sytech/assets/img/redbbok.svg)
}

footer .slide_intro .social .redbook a::after {
    background-image: url(../../../../../themes/sytech/assets/img/redbook.svg);
    background-size: 50%
}

footer .slide_intro .social .tiktok a::after {
    background-image: url(../../../../../themes/sytech/assets/img/tiktok.svg)
}

footer .slide_explore {
    width: 35rem
}

footer .slide_explore strong {
    display: block;
    font-weight: 400;
    color: #999;
    margin-bottom: 3.3rem
}

footer .slide_explore .menu {
    gap: 1rem;
    display: grid
}

footer .slide_explore .menu a {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 3.6rem;
    transition: all 0.3s;
    gap: 1rem;
    border-radius: 7px;
    border: 1px solid #dbdbdb;
    color: #252525;
    font-weight: 500;
    overflow: hidden;
    padding: .9rem 1.5rem .9rem 2.2rem;
    min-height: 6.1rem
}

footer .slide_explore .menu a::after {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 100%;
    border-radius: 50%;
    transition: all 0.3s 0.1s;
    background: url(../../../../../themes/sytech/assets/img/footer-arrow.svg) no-repeat center / contain
}

footer .slide_explore .menu a:hover::after {
    transform: rotate(-45deg)
}

footer .slide_obj strong {
    display: block;
    font-weight: 600;
    color: #333;
    font-size: 1.8rem;
    margin-bottom: 2.7rem
}

footer .slide_obj li {
    margin-bottom: 1.1rem
}

footer .slide_obj li:last-child {
    margin-bottom: 0
}

footer .slide_obj li a {
    font-size: 1.8rem;
    color: #252525;
    transition: all 0.3s;
    vertical-align: top;
    text-decoration: underline transparent;
    font-weight: 300
}

footer .slide_obj li a:hover {
    opacity: 1;
    color: var(--theme_color);
    text-decoration-color: var(--theme_color)
}

footer .slide_connect {
    width: 29.65rem
}

footer .slide_connect strong {
    margin-bottom: 2.9rem
}

footer .slide_connect li {
    position: relative;
    padding-left: 3.5rem;
    margin-bottom: 3.3rem
}

footer .slide_connect li::before {
    content: '';
    display: block;
    width: 2.1rem;
    height: 2.1rem;
    background: no-repeat center left / contain;
    position: absolute;
    left: 0;
    top: .3rem
}

footer .slide_connect li a {
    font-weight: 500
}

footer .slide_connect li .label {
    color: #727272;
    font-size: 1.5rem;
    line-height: 2.2rem;
    margin-top: .6rem
}

footer .slide_connect .phone::before {
    background-image: url(../../../../../themes/sytech/assets/img/icon-phone1.svg)
}

footer .slide_connect .email::before {
    top: .4rem;
    background-size: 90.5%;
    background-image: url(../../../../../themes/sytech/assets/img/icon-email.svg)
}

footer .copyright {
    padding: 1.7rem 0 2.1rem;
    background-color: #f3f5f7
}

footer .copyright p,
footer .copyright a {
    font-size: 1.4rem;
    color: #3f3f3f
}

footer .copyright a {
    opacity: .68;
    display: block;
    transition: all 0.3s;
    text-decoration: underline transparent
}

footer .copyright a:hover {
    opacity: 1;
    color: var(--theme_color);
    text-decoration-color: var(--theme_color)
}

footer .copyright ul {
    gap: 2rem 5.2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.footer_contact .inner {
    width: calc(100% - 4rem);
    max-width: 178.4rem;
    margin: 0 auto;
    border-radius: 3.1rem;
    background: url(../../../../../themes/sytech/assets/img/footer_bg.jpg) no-repeat center / cover
}

.footer_contact .flex {
    min-height: 50.7rem;
    padding: 6rem 0
}

.footer_contact .head {
    flex: 1;
    color: #fff;
    padding-top: 1.5%
}

.footer_contact strong {
    margin-bottom: 1.25rem
}

.footer_contact p {
    font-size: 1.8rem;
    color: rgba(255, 255, 255, .85);
    margin-top: 2.3rem
}

.footer_contact .btn {
    margin-top: 4.5rem
}

.default_text {
    font-size: 1.8rem;
    line-height: 2.8rem;
    color: var(--content_color)
}

.home_services {
    padding: 7.2rem 0 8.9rem
}

.home_services .home_services_swiper {
    margin-top: 3.7rem
}

.home_services .home_services_swiper .active .item::before {
    opacity: 1
}

.home_services .item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    border-radius: 1.4rem;
    border: 1px solid #dde0e9;
    background-color: #fff;
    padding: 4.8rem 0 2.9rem
}

.home_services .item:hover img {
    transform: scale(1.02)
}

.home_services .item::before {
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    position: absolute;
    left: -1px;
    top: -1px;
    border: 2px solid var(--theme_color);
    content: '';
    box-shadow: 1rem 1rem 1rem rgba(191, 211, 224, .45);
    transition: all 0.3s;
    opacity: 0;
    border-radius: 1.4rem;
    pointer-events: none
}

.home_services .item .info {
    padding: 0 18%;
    text-align: center;
    flex: 1
}

.home_services .item .info h3 {
    font-size: 2.6rem;
    font-weight: 500
}

.home_services .item .info p {
    font-size: 1.8rem;
    line-height: 2.8rem;
    color: var(--content_color);
    opacity: .85;
    margin-top: 1.5rem
}

.home_services .item .img {
    width: 100%;
    padding-bottom: 59.184%;
    margin-top: 2.2rem
}

.home_services .item i {
    display: block;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background-image: var(--bg_color);
    position: relative;
    margin-top: 1.9rem
}

.home_services .item i::after {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    background: url(../../../../../themes/sytech/assets/img/arrow-r-w.svg) no-repeat center / 30%;
    transition: all 0.3s
}

.page_contact {
    background-color: var(--bg);
    padding: 6rem 0
}

.page_contact h2 {
    font-size: 5.2rem;
    line-height: 6.4rem;
    font-weight: 700;
    text-align: center;
    width: 100%;
    padding-bottom: 2.3rem
}

.page_contact form {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: #fff;
    padding: 4.8rem 4.4% 6rem 4.6%;
    gap: 1.9rem 1rem
}

.page_contact form span {
    width: 100%
}

.page_contact form .col-2 {
    width: 49.40270714%
}

.page_contact form input,
.page_contact form textarea {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    color: #7a7a7a;
    border: 1px solid #c6c6c6;
    padding: 1.8rem 2rem
}

.page_contact form input::placeholder,
.page_contact form textarea::placeholder {
    color: #7a7a7a
}

.page_contact form textarea {
    height: 13.4rem;
    padding-top: 1.5rem
}

.page_contact form span:has(input[type=checkbox]) {
    margin-top: .6rem
}

.page_contact form input[type=checkbox] {
    width: 2.7rem;
    height: 2.7rem;
    padding: 0;
    vertical-align: top;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent
}

.page_contact form input[type=checkbox]::after {
    content: '';
    display: block;
    width: 80%;
    height: 80%;
    background: url(../../../../../themes/sytech/assets/img/gou.svg) no-repeat center / contain;
    transition: all 0.3s;
    opacity: 0
}

.page_contact form input[type=checkbox]:checked::after {
    opacity: 1
}

.page_contact form input[type=checkbox]~span {
    vertical-align: top;
    cursor: pointer;
    display: inline-block;
    width: calc(100% - 3.3rem);
    line-height: 2.8rem;
    color: #555;
    padding-left: 1rem;
    margin-top: -.7rem
}

.page_contact form input[type=checkbox]~span a {
    color: var(--theme_color);
    text-decoration: underline;
    transition: all 0.3s
}

.page_contact form input[type=checkbox]~span a:hover {
    text-decoration-color: transparent
}

.page_contact form span:has(.btn) {
    margin-top: 1.2rem
}

.page_contact form .btn {
    display: inline-flex;
    align-items: center;
    gap: 1.6rem;
    min-width: 20.6rem;
    justify-content: center
}

.page_contact form .btn::after {
    background: url(../../../../../themes/sytech/assets/img/arrow-r.svg) no-repeat center / contain;
    filter: contrast(0) brightness(2);
    width: 1.7rem;
    height: 1.7rem;
    display: inline-block;
    content: '';
    flex-shrink: 0;
    transition: all 0.3s;
    display: none
}

.page_contact form .btn input {
    display: none
}

.page_contact form .btn:hover::after {
    filter: unset;
    transform: translateX(20%)
}

.page_contact .wpcf7-spinner {
    position: absolute;
    width: 24px !important;
    right: 3rem
}

body .wpcf7 form .wpcf7-response-output {
    padding: 0;
    border: none;
    margin: 0
}

.default_head {
    padding: 9rem 0;
    background-color: #eee
}

.default_head h1 {
    font-size: 4.5rem
}

.default_body {
    padding: 5rem 0;
    font-size: 1.8rem;
    line-height: 3.2rem;
    color: #171717
}

.default_body h2 {
    font-size: 2.6rem;
    line-height: 3.4rem;
    font-weight: 700;
    margin: 3.5rem 0 3.3rem
}

.default_body h3 {
    font-size: 2rem;
    line-height: 3.4rem;
    font-weight: 700;
    margin: 1.6rem 0 1rem
}

.default_body p {
    margin: 1rem 0
}

.default_body img {
    border-radius: 8px;
    width: 100%;
    display: block;
    object-fit: cover;
    margin: 4.7rem 0
}

.default_body ul {
    margin: 1rem 0
}

.default_body ul li {
    position: relative;
    padding-left: 2.4rem;
    margin-bottom: 1rem
}

.default_body ul li:last-child {
    margin-bottom: 0
}

.default_body ul li::before {
    width: 1.4rem;
    height: 1.4rem;
    position: absolute;
    left: 0;
    top: .8rem;
    border-radius: 50%;
    background-color: var(--theme_color);
    content: ''
}

.ads_certificate .left {
    min-width: 35%
}

.ads_certificate .right {
    padding-left: 5rem
}

.ads_certificate .right img {
    transform: translate(0, 0, ) !important;
    max-width: 100% !important
}

.template_main ul .img img {
    aspect-ratio: unset !important
}

.blog_list .active .btn_i {
    transform: translateX(0)
}

.blog_list .active .btn_i::before {
    background-color: var(--primary)
}

.blog_list a {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden
}

.blog_list a:hover img {
    transform: scale(1.02)
}

.blog_list .img {
    border-radius: 2rem;
    padding-bottom: 63.777778%
}

.blog_list .info {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-top: 2.8rem
}

.blog_list .metas {
    display: flex;
    align-items: center;
    padding-right: 1.1rem
}

.blog_list .metas::before {
    display: inline-block;
    content: '';
    background-color: #0f0f0f;
    opacity: .19;
    flex: 1;
    height: 1px;
    margin: 0 2.6rem 0 1.5rem
}

.blog_list .metas .date {
    font-size: 1.7rem;
    color: rgba(63, 63, 63, .85)
}

.blog_list .metas .cat {
    font-size: 1.8rem;
    color: #0a162d;
    border-radius: 100px;
    background-color: rgba(16, 53, 139, .18);
    line-height: 4rem;
    padding: 0 2.2rem;
    order: -1;
    text-align: center;
    min-width: 9.8rem
}

.blog_list .title {
    font-size: 2.4rem;
    line-height: 1.4583333;
    font-weight: 500;
    color: #161616;
    margin-top: 2.3rem;
    margin-bottom: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    letter-spacing: .25px
}

.blog_list .btn {
    width: max-content;
    margin-top: 1.5rem;
    font-size: 1.5rem;
    padding: 1rem 2rem
}