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

/*************** ADD CUSTOM CSS HERE.   ***************/


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


}
@font-face {
    font-family: 'SVN-Taken by Vultures';
    src: url('/wp-content/uploads/fonts/SVN-Taken-by-Vultures/SVN-Taken-By-Vultures.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/*Vềchúng tôi*/
/*lien -he*/

/* Box góc trái */
.contact-box {
    position: absolute;
    top: 0;
    left: 0;
    background: #2f3b52;
    color: #fff;
    padding: 18px 35px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    font-size: 18px;
}

/* Icon tròn */
.contact-icon {
    width: 38px;
    height: 38px;
    background: #1abc9c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}


.about-container {
    margin: auto;
    display: flex;
    align-items: flex-start;
}

.about-left {
    flex: 1;
}

.about-title {
    display: flex;
    align-items: baseline;
    gap: 15px;
    margin-bottom: 25px;
}

.about-title .script {
    font-family: 'SVN-Taken by Vultures', cursive;
    font-size: 48px;
    color: #0071BC;
}

.about-title .normal {
    font-size: 32px;
    font-weight: 600;
    color: #2c3e50;
}

.about-desc {
    font-size: 20px;
    line-height: 1.6;
    color: #2c3e50;
}

.about-right {
    flex: 1;
}

.about-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.about-list li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 18px;
    font-size: 17px;
    line-height: 1.6;
    color: #0071BC;
}

/* icon tròn */
.about-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 18px;
    height: 18px;
    border: 2px solid #0071BC;
    border-radius: 50%;
}

.about-list li::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 11px;
    width: 6px;
    height: 6px;
    background: #0071BC;
    border-radius: 50%;
}



@media screen and (min-width: 48rem) {
    #rank-math-pro-cta .rank-math-cta-box.width-40 {
        max-width: 100%;
    }
}

.igx-link {
    display: inline-flex;
    flex-direction: column; 
    text-decoration: none;
    color: #0071BC;
    font-weight: 600;
}
.igx-text {
	 margin-left: 20px;
    white-space: nowrap;
    text-align: center;
    font-size: 15px;
}

.igx-circle {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
}

/* svg */
.igx-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
	 transition: transform 0.6s ease;
}

.igx-bg {
    fill: none;
    stroke: #d6f0ec;
    stroke-width: 2;
    stroke-dasharray: 85 100; 
}

/* cung tròn chính */
.igx-arc {
    fill: none;
    stroke: #0071BC;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 40 100; 
    transform-origin: 50% 50%;
    transition: transform 0.6s ease;
}

.igx-link:hover .igx-svg {
    transform: rotate(270deg); 
}

.igx-text {
    white-space: nowrap;
}
.igx-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg) scaleY(-1);
    transition: transform 0.6s ease;
}

.igx-link:hover .igx-svg {
    transform: rotate(270deg) scaleY(-1);
}
/*tieude*/

.t-heading {
	    padding-bottom: 30px;
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: 700;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: flex-end;
}
.t-taken {
    font-family: 'SVN-Taken by Vultures', sans-serif;
  font-size: 5.2rem;
    line-height: 1.2;
       color:#0071BC;
    font-weight: 400;
}

.t-heading.m-nor p{
	margin: 0;}

.butom-clice {
    margin-top: -30px;
}



/* ===== GX Contact Style ===== */

.gx-contact-wrap {
    max-width: 900px;
    margin: 0 auto;
}

.gx-form-row {
    display: flex;
    gap: 12px;
}

.gx-input {
    height: 54px;
    border: none;
    background: #efefef;
    padding: 0 18px;
    font-size: 16px;
    border-radius: 8px;
    outline: none;
    width: 100%;
    transition: all 0.3s ease;
}

.gx-input:focus {
    background: #ffffff;
    box-shadow: 0 0 0 2px #ddd;
}

/* Phone box */
/*lhtc*/
.gx-title-wrap {
    text-align: center;
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 20px;
}

.gx-title-script {
    font-family: 'SVN-Taken by Vultures', sans-serif;
    font-size: 48px;
    color:#0071BC;
    margin-right: 12px;
    position: relative;
    top: 8px; 
}

.gx-title-main {
    color: #ffffff;
    font-size: 34px;
    font-weight: 700;
}
/*ctf*/
.we-form-wrap {
    display: flex;
    align-items: stretch;
    background-color: white;
    border-radius: 6px;
    overflow: hidden;
    flex-wrap: wrap;
	    height: 40px;
}
.wpcf7-form-control-wrap {
    position: relative;
}
.we-form-input {
    height: 48px;
    width: 100%;
    padding: 0 15px;
    border: none;
    outline: none;
    font-size: 1.6rem;
    line-height: 1;
}
.we-form-item {
    width: calc(100% / 2);
    position: relative;
}
.we-form-con {
    max-width: 100%;
    padding: 0 15px;
    margin: 0 auto;
    padding-bottom: 30px;
}

/*input*/
.btn-esp::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #0071BC;
    transform: perspective(10px) rotateX(1deg) translateY(-1px);
    border-radius: 26px 26px 0 0;
}
.btn-esp-line::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #0071BC;
}
.btn-esp {

    display: block;
    background-color: transparent;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    width: fit-content;
    cursor: pointer;
}
.m-mid {
    margin: 0 auto;
}
.btn-esp {
    padding: 10px 40px;
    display: block;
    background-color: transparent !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    width: fit-content;
    cursor: pointer;
}
.btn-esp .icon-thu {
    margin-right: 10px;
    width: 16px;
    height: 16px;
    position: relative;
    z-index: 10;
}
.btn-esp .curved-left {
    left: -18px;
    bottom: 1px;
}
.btn-esp .curved {
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    overflow: hidden;
    z-index: 1;
    transform: perspective(0px) rotateX(0deg);
}
.btn-esp .curved-right {
    right: -18px;
    bottom: 1px;
}
.btn-esp .curved {
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    overflow: hidden;
    z-index: 1;
    transform: perspective(0px) rotateX(0deg);
}
.btn-esp .curved-left::before {
    right: 0;
    bottom: 0;
    box-shadow: 30px 30px 0 0 #0071BC;
}
.btn-esp .curved::before {
    content: '';
    position: absolute;
    width: 250%;
    height: 250%;
    border-radius: 50%;
}
.btn-esp .curved-right::before {
    bottom: 0;
    left: 0;
    box-shadow: -30px 30px 0 0 #0071BC;
}
.btn-esp .curved::before {
    content: '';
    position: absolute;
    width: 250%;
    height: 250%;
    border-radius: 50%;
}
.btn-esp-line span.wpcf7-spinner {
    position: absolute;
    right: -15px;
}
.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color:#0071BC;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative;
}
.btn-esp-text {
    color: white;
    font-weight: 700;
    line-height: 1.5;
    transition: 0.3s ease-in-out;
    position: relative;
    z-index: 10;
}
.btn-esp {
  transform-origin: center bottom;
  will-change: transform;
}
@keyframes btnBounce {
  0%   { transform: translateY(-2px); }
  30%  { transform: translateY(3px); }
  55%  { transform: translateY(-1px); }
  75%  { transform: translateY(2px); }
  100% { transform: translateY(0); }
}
.btn-esp-line:hover .btn-esp {
  animation: btnBounce 0.65s cubic-bezier(.25,.8,.25,1) both;
}
.btn-esp:active {
  transform: translateY(4px);
}


.wpcf7-response-output {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 78px;
  transform: translateX(-50%) translateY(10px);

  padding: 10px 18px;
    background: #0071BC;
  color: #fff;
  font-size: 14px;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);

  opacity: 0;
  transition: all .4s ease;
  z-index: 30;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: block;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.wpcf7-response-output.hide {
  opacity: 0;
  transform: translateX(-50%) translateY(10px);
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
border: 2px solid #0071BC !important;

}
/*web are*/
.we-head {
    padding: 180px 15px;
    text-align: center;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
.we-head-text.mona-content strong {
    color: #26948A;
    position: relative;
    display: inline-block;
}
.mona-content strong {
    font-weight: bold;
}.we-head-text.mona-content strong::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-3000%);
    bottom: 100%;
      height: 150%;
    width: 1px;
    background-color: #0071BC;
    z-index: -1;
}
.we-head-text.mona-content strong::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-3000%);
    top: 100%;
        height: 150%;
    width: 1px;
    background-color: #0071BC;
    z-index: -1;
}
.we-head-text.mona-content strong {
    color: #0071BC;
    position: relative;
    display: inline-block;
}
.we-head-text {
    font-size: 3.2rem;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    color: #CCCFDA;
    letter-spacing: 0.5em;
}

form.wpcf7-form.init {
    margin-bottom: 0;
}
/*tieude*/
.t-heading.center {
    align-items: center;
}
.tieu-deh2 h2.t-heading.m-nor.center.aos-init.aos-animate {
    align-items: center;
    justify-content: center;
}


.tieu-deh2 .t-taken {
    font-size: 4.2rem;
    padding-left: 0.2em;
}

/*thư viện*/
.thu-vien {
  max-height: 500px;     
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}
@media (max-width: 768px) {
  .thu-vien {
    max-height: 420px;
  }
}
.thu-vien {
  scroll-behavior: smooth;
}
.thu-vien::-webkit-scrollbar {
  width: 6px;
}

.thu-vien::-webkit-scrollbar-thumb {
  background: #0071BC;
  border-radius: 10px;
}

.thu-vien::-webkit-scrollbar-track {
  background: transparent;
}
/*dự án*/
/* FIX SWIPER FLATSOME */


.ux-slider .flickity-slider {
    display: flex;
    align-items: center;
}

.ux-slider .flickity-slider > .ux-slider-item {
    width: 33.333% !important;
    transform: scale(0.85);
    opacity: 0.4;
    transition: all 0.45s ease;
}


.ux-slider .flickity-slider > .ux-slider-item.is-selected {
    transform: scale(1);
    opacity: 1;
    z-index: 2;
}

.ux-slide-inner img {
    width: 100%;
    display: block;
    border-radius: 8px;
}


@media (max-width: 768px) {
    .ux-slider .flickity-slider > .ux-slider-item {
        width: 85% !important;
        transform: scale(1);
        opacity: 1;
    }
}

h3.ux-slide-title {
    text-align: center;
}
.goc-nho .flickity-page-dots {
    position: absolute;
    bottom: -20px;
    left: 20%;
    right: 20%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1;
}
/*silder*/
.customer-title {
    position: relative;
    font-size: 42px;
    font-weight: 700;
    color: #1F2D3D;
    margin: 0;
}

.customer-title::before {
    content: "“";
    position: absolute;
       left: 15%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 60px;
    color: #0071BC;
    line-height: 1;
}
/*Đánh giá*/
.ig-review-col {
    padding: 15px;
}

.ig-review-item {
       height: 360px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.ig-overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 20px;
    display: flex;
    background: linear-gradient(to top, rgb(10 171 209 / 95%), rgb(3 169 244 / 76%));
    color: #fff;
}

.ig-left {
    min-width: 100px;
}

.ig-big-rating {
    font-size: 70px;
    font-weight: 700;
    line-height: 1;
}

.ig-stars span {
    font-size: 18px;
    color: #ffc107;
}

.ig-stars span:not(.active){
    opacity: 0.3;
}

.ig-right h3 {
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 600;
	color: #fff;
}

.ig-content {
    line-height: 1.6;
}

/* Mobile */
@media(max-width:768px){
    .ig-review-item {
        height: 380px;
    }
    .ig-overlay {
        flex-direction: column;
    }
}
/*video */
.ig-video-item {
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(0,0,0,0.08);
}

.ig-video-thumb {
    height:220px;
    background-size:cover;
    background-position:center;
    position:relative;
}

.ig-play-button {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:60px;
    height:60px;
    background:#3B88C3;
    border-radius:50%;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.ig-video-content {
    padding:20px;
}

.ig-video-content h3 {
    font-size:18px;
    margin-bottom:10px;
}

.ig-video-desc {
    font-size:14px;
    color:#666;
}
/*slider*/
.ig-video-slider {
    position: relative;
}


.ig-video-slider .flickity-button {
    display: none;
}


.ig-slider-nav {
    position: absolute;
    left: -70px; 
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 9;
}

.ig-slider-btn {
      width: 40px;
    height: 40px;
    border: 2px solid #0071BC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .3s ease;
}

.ig-slider-btn:hover {
    background: #0071BC;
}

.ig-slider-btn svg {
    width: 22px;
    height: 22px;
    stroke: #0071BC;
    transition: all .3s ease;
}

.ig-slider-btn:hover svg {
    stroke: #fff;
}
/* ===== ZXQ CONTACT EFFECT ===== */

.zxq-contact-bar{
    background:#2f3547;
    padding:22px 30px;
}

.zxq-contact-inner{
    display:flex;
    align-items:center;
    gap:15px;
}

/* icon đứng yên */
.zxq-contact-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#22c1a6;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    flex-shrink:0;
}

/* text reveal */
.zxq-contact-text{
    position:relative;
    color:#ffffff;
    font-size:22px;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
}

.zxq-contact-text::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
    background:#2f3547;
    animation: zxqReveal 3.5s ease-in-out infinite;
}

@keyframes zxqReveal{
    0%{
        left:0;
    }
    45%{
        left:100%;
    }
    55%{
        left:100%;
    }
    100%{
        left:0;
    }
}
/*báogia*/
.price-register-section {
    position: relative;
    background: url('YOUR-IMAGE.jpg') center/cover no-repeat;
    padding: 70px 25px 90px;
    text-align: center;
    overflow: hidden;
}

.price-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.85);
}

.price-content {
    position: relative;
    max-width: 500px;
    margin: auto;
    z-index: 2;
}

.price-script {
    font-family: 'Brush Script MT', cursive;
    font-size: 42px;
    color: #1aa39a;
    margin-bottom: 10px;
}

.price-title {
    font-size: 32px;
    font-weight: 700;
    color: #2c3440;
    margin-bottom: 15px;
}

.price-desc {
    font-size: 15px;
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 30px;
}

.price-form input {
    width: 100%;
    padding: 14px 15px;
    border: none;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 14px;
    background: #f2f2f2;
}

.phone-group {
    display: flex;
    align-items: center;
    background: #f2f2f2;
    border-radius: 6px;
    margin-bottom: 25px;
}

.phone-group .prefix {
    padding: 0 12px;
    color: #555;
    font-size: 14px;
}

.phone-group input {
    border: none;
    background: transparent;
    flex: 1;
    padding: 14px 10px;
}

.price-form button {
    background: #1aa39a;
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 30px 30px 0 0;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
}

.price-form button:hover {
    background: #16877f;
}

.price-form .icon {
    margin-right: 6px;
}
