:root {
    --theme-color: #0E4975;
    --theme-color2: #51B7D0;
    --theme-light: #F2F5FC;
    --theme-dark: #444444
}
html, body{scroll-behavior: smooth;}
body{font-size: 17px;font-family: "TASA Orbiter", sans-serif;color: var(--theme-dark);}

/* custom scrollbar */
::-webkit-scrollbar-track{-webkit-box-shadow: none;background: var(--theme-light);}
::-webkit-scrollbar{width: 6px;background: var(--theme-color2);}
::-webkit-scrollbar-thumb{background: var(--theme-color);}

/* custom text selection */
::-moz-selection{background: var(--theme-light);color: var(--theme-color2);}
::selection{background: var(--theme-light);color: var(--theme-color2);}

a{display: inline-block;text-decoration: none;}
p{margin-bottom: 20px;}
p:last-child{margin-bottom: 0;}
ul{margin: 0;padding: 0;list-style: none;}

.left-padding{margin: 0 0 0 35px;}

:focus-visible{outline: none;}


/*======================================= Theme Title =======================================*/
.theme-title-area .sub-title{margin-bottom: 8px;font-size: 17px;font-weight: 700;color: var(--theme-color2);line-height: 1.3;letter-spacing: 0.4px;}
.theme-title-area .theme-title{margin: 0;max-width: 95%;font-size: 45px;font-weight: 600;color: var(--theme-color);line-height: 1.1;white-space: pre-line;}

/*======================================= plus Button =======================================*/
.plus-btn{position: relative; width: 40px;height: 40px;border-radius: 50%;background: var(--theme-color);transition: 0.3s ease-in-out;}
.plus-btn:before{content: "";position: absolute;top: 50%;left: 50%;width: 17px;height: 2px;background: #fff;transform: translate(-50%, -50%);transition: 0.3s all;}
.plus-btn span{position: absolute;top: 50%;left: 50%;width: 17px;height: 17px;transform: translate(-50%, -50%);}
.plus-btn span:before,
.plus-btn span:after{content: "";position: absolute;right: calc(50% - 1px);width: 2px;height: 50%;background: #fff;transition: 0.3s ease-in-out;} 
.plus-btn span:before{top: 0;}
.plus-btn span:after{bottom: 0;}
.plus-btn:hover span:before{transform: translate(calc(50% + 2px), calc(-50% + 5px)) rotate(-45deg);}
.plus-btn:hover span:after{transform: translate(calc(50% + 2px), calc(-50% + 3px)) rotate(45deg);}

/*======================================= Theme Button =======================================*/
.theme-btn{padding: 6px 6px 6px 28px;background: #fff;border: none;box-shadow: inset 0 0 0 2px var(--theme-color);border-radius: 50px;font-size: 16px;font-weight: 500;color: var(--theme-color);line-height: 38px;display: inline-flex;align-items: center;justify-content: center;gap: 15px;transition: 0.5s;}
.theme-btn .icon{display: flex;justify-content: center;align-items: center;width: 38px;aspect-ratio: 1/1;border-radius: 50%;background: var(--theme-color2);transition: 0.5s;}
.theme-btn .icon img{width: 10px;filter: brightness(0) invert(1);}
.theme-btn:hover{padding-inline: 32px 2px;}
.theme-btn:hover .icon{transform: translateX(40%) rotate(45deg);}
.theme-btn.no-icon{padding: 18px 36px;}

/*======================================= Theme Form =======================================*/
.theme-form .form-control{padding: 20px 25px;width: 100%;background: rgb(255 255 255 / 5%);border: none;border-radius: 10px;font-size: 16px;font-weight: 400;color: #fff;}
.theme-form textarea.form-control{height: 140px;resize: none;}
.theme-form .form-control::placeholder{color: rgb(255 255 255 / 55%);}
.theme-form .form-control:focus{box-shadow: none;}
/*--------------------------------*/
.theme-form .drag-file-area{padding:20px;width:100%;border:1px dashed var(--theme-color2);border-radius: 10px;position:relative;text-align:center;cursor: pointer;}
.theme-form .upload-icon{margin-bottom:10px;font-size:32px;color: var(--theme-color);}
.theme-form .dynamic-message{margin-bottom: 4px;font-weight: 500;color:#444;}
.theme-form .file-input{top:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;position:absolute}
.theme-form .browse-files{font-size: 16px;font-weight: 400;color:#444;line-height:32px}
.theme-form .browse-files>span{color: var(--theme-color);font-weight: 400;}
.theme-form .file-info{margin-top:9px;font-size: 13px;color:#757575;font-weight: 400;}
.theme-form .file-name,.theme-form .file-size{display:block}


/*======================================= Theme List =======================================*/
.theme-list{margin-bottom: 20px;}
.theme-list li{position: relative;padding: 0 0 10px 15px;font-size: 15px;}
.theme-list li::before{content: '';position: absolute;top: 9px;left: 0;width: 5px;height: 5px;background: var(--theme-color);border-radius: 50%;}

/*======================================= BG Line =======================================*/
.bgline{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: -1;display: flex;justify-content: space-evenly;}
.bgline::before,
.bgline::after{content: '';width: 15%;height: 100%;border: 0 dashed rgb(255 255 255 / 27%);border-width: 0 1px;}

/*======================================= Service Card =======================================*/
.service-card { display: flex; flex-direction: column; justify-content: flex-end; padding: 24px 22px 24px 42px; width: 100%; aspect-ratio: 402/388; border-radius: 10px; position: relative; overflow: hidden; z-index: 0; transition: 0.8s ease all; }
.service-card::before { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(transparent, rgb(0 0 0/55%)); z-index: -1; }
.service-card::after { content: ""; position: absolute; bottom: 8px; left: 8px; width: calc(100% - 16px); height: calc(100% - 16px); background: #fff; border-radius: 10px; opacity: 0; z-index: -1; transition: 0.8s ease all; }
.service-card .service-card-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.service-card .service-card-title { font-size: 22px; font-weight: 600; color: #fff; line-height: 1.3; transition: 0.8s ease all; }
.service-card .service-card-content { margin-bottom: 0; max-height: 0; font-size: 16px; font-weight: 500; color: #fff; overflow: hidden; transition: 0.8s ease all; }
.service-card .service-card-content p { margin-bottom: 5px; }
.service-card .service-card-link { position: absolute; top: 24px; right: 22px; }
.service-card:not(:hover) .service-card-link { opacity: 0; top: 15px; }
.service-card:hover::after { opacity: 90%; }
.service-card:hover .service-card-title { color: #444; padding-right: 50px; }
.service-card:hover .service-card-content { max-height: 500px; color: #444; }

/*======================================= Contact Section =======================================*/
.contact-secn{overflow: hidden;}
.contact-secn .contact-area{position: relative;z-index: 0;display: flex;}
.contact-secn .contact-area::before{content: '';position: absolute;top: 0;left: 0;width: 100vw;height: 100%;background: var(--theme-color);border-radius: 10px 0 0 0;z-index: -1;opacity: 95%;}
/*--------------------------------*/
.contact-secn .contact-area .contact-card{padding: 20px 40px 20px 50px;min-width: 350px;display: flex;justify-content: space-between;align-items: center;gap: 40px;}
.contact-secn .contact-area .contact-card p{margin: 0;font-size: 20px;font-weight: 600;color: #fff;letter-spacing: 1px;}
.contact-secn .contact-area .contact-card .icon{display: flex;justify-content: center;align-items: center;width: 38px;aspect-ratio: 1/1;border-radius: 50%;background: var(--theme-color2);transition: 0.5s;}
.contact-secn .contact-area .contact-card .icon img{width: 10px;filter: brightness(0) invert(1);}
/*--------------------------------*/
.contact-secn .contact-area .contact-card:first-child{background: var(--theme-color2);border-radius: 10px 0 0 0;}
.contact-secn .contact-area .contact-card:first-child p{color: var(--theme-color);}
.contact-secn .contact-area .contact-card:first-child .icon{background: var(--theme-color);transform: rotate(0deg);}
.contact-secn .contact-area .contact-card:first-child .icon img{width: 21px;}
.contact-secn .contact-area .contact-card.contact-call:hover .icon{animation: ringing 2s ease-in-out infinite;}
.contact-secn .contact-area .contact-card.contact-contact:hover .icon{transform: rotate(45deg);}
@keyframes ringing {
    20%{transform: rotate(0deg);}
    22%{transform: rotate(10deg);}
    24%{transform: rotate(-10deg);}
    26%{transform: rotate(12deg);}
    28%{transform: rotate(-12deg);}
    30%{transform: rotate(12deg);}
    32%{transform: rotate(-12deg);}
    36%{transform: rotate(10deg);}
    40%{transform: rotate(-10deg);}
    44%{transform: rotate(5deg);}
    48%{transform: rotate(-5deg);}
    52%{transform: rotate(2deg);}
    56%{transform: rotate(0deg);}
}

/*======================================= Theme Footer =======================================*/
.footer-secn{padding: 90px 0 50px;background: var(--theme-color);}
.footer-secn .left-padding{margin-left: 45px;}
/*--------------------------------*/
.footer-top{padding-bottom: 60px;}
.footer-mid{padding: 50px 0 40px;border-top: 1px solid rgb(255 255 255/28%);}
/*--------------------------------*/
.footer-link-area .footer-link-title{margin-bottom: 10px;font-size: 17px;font-weight: 600;color: var(--theme-color2);}
.footer-link-area ul li .foot-link{padding: 9px 5px 9px 0;font-size: 16px;color: rgb(255 255 255/75%);line-height: 1;transition: 0.5s;}
.footer-link-area ul li .foot-link:hover{padding-inline: 5px 0;color: rgb(255 255 255);}
//.footer-link-area.footer-services ul{column-count: 2;}
/*--------------------------------*/
.footer-logo img{max-width: 100%;}
/*--------------------------------*/
.social-links{margin: 35px 0 0 10px;display: flex;flex-wrap: wrap;gap: 12px;}
.social-links li{line-height: 1;}
.social-links .social-item{width: 50px;aspect-ratio: 1/1;background: var(--theme-color2);border-radius: 50%;display: flex;justify-content: center;align-items: center;transition: 0.5s;}
.social-links .social-item img{filter: brightness(0) invert(1);transition: 0.5s;}
.social-links .social-item:hover{background: transparent;box-shadow: 0 0 0 1px var(--theme-color2);}
.social-links .social-item:hover img{filter: unset;}
/*--------------------------------*/
.foot-contact-details{margin-bottom: 20px;}
.foot-contact-details:last-child{margin-bottom: 0;}
.foot-contact-details h6{margin-bottom: 15px;font-size: 17px;font-weight: 600;color: var(--theme-color2);}
.foot-contact-details p, .foot-contact-details a{font-size: 16px;color: rgb(255 255 255/75%);white-space: pre-line;transition: 0.5s;}
.foot-contact-details a:hover{color: rgb(255 255 255);}
.foot-email-sec {
  margin-left: 45px;
}
/*--------------------------------*/
.newsletter-area h6{margin: 0 0 16px 16px;font-size: 25px;font-weight: 500;color: #fff;}
.newsletter-area .newsletter-form{display: flex;flex-direction: column;align-items: flex-start;gap: 18px;}
.newsletter-area .newsletter-form .newsletter-input{padding: 24px 35px;/*width: 312px;max-width: 600px;*/width: 100%;max-width: 312px;background: rgb(255 255 255/5%);border: none; border-radius: 10px;font-size: 16px;font-weight: 400;color: #fff;}
.newsletter-area .newsletter-form .newsletter-input::placeholder{color: rgb(255 255 255 / 55%);}
.newsletter-area .newsletter-form .theme-btn{box-shadow: inset 0 0 0 2px #fff;color: #fff;background: transparent;}
.newsletter-area .newsletter-form .theme-btn .icon{background: var(--theme-color2);}
/*--------------------------------*/
.footer-btm{padding: 30px 25px 30px 35px;background: rgb(255 255 255/5%);border-radius: 10px;display: flex;flex-direction: row-reverse;justify-content: space-between;align-items: center;gap: 20px;}
/*--------------------------------*/
.footer-btm .footer-btm-links{display: flex;font-size: 15px;color: rgb(255 255 255/65%);}
.footer-btm .footer-btm-links li{margin-right: 10px;padding: 0 10px 0 0;border: 0 solid rgb(255 255 255/65%);border-width: 0 1px 0 0;line-height: 1;}
.footer-btm .footer-btm-links li:last-child{margin-right: 0;padding-right: 0;border: 0;line-height: 1;}
.footer-btm .footer-btm-links a{color: rgb(255 255 255/65%);transition: 0.5s;}
.footer-btm .footer-btm-links a:hover{color: rgb(255 255 255);}
/*--------------------------------*/
.footer-btm .copyright-area p{margin: 0;font-size: 15px;color: rgb(255 255 255/65%);}
.footer-btm .copyright-area p span::before{content: '|';margin-inline: 5px;}
.footer-btm .copyright-area p span:first-child::before{display: none;}
.footer-btm .copyright-area span.webplus img{margin-left: 2px;max-width: 25px;mix-blend-mode: luminosity;transition: all 0.5s;}
.footer-btm .copyright-area span.webplus:hover img{opacity: 80%;}

/*======================================= Fix Button =======================================*/
.fab-wrapper { position: fixed; bottom: 20px; right: 15px; z-index: 2; transition: all 0.5s; }
.fab-wrapper .reach-btn { background-color: #1a527c; color: #fff; border-radius: 50px; padding: 10px 13px 10px 20px; font-size: 14px; position: relative; display: flex; align-items: center; text-transform: uppercase; font-weight: 600; transition: all 0.5s; }
.fab-wrapper .reach-btn i { position: relative; width: 40px; height: 30px; display: flex; justify-content: center; align-items: center; border-left: 1px solid #ffffff52; margin-left: 13px; transition: all 0.5s; }
.fab-wrapper .reach-btn::before { position: absolute; right: 30px; width: 1px; }
.fab-item { position: absolute; right: 0; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(0); transition: all 0.5s; flex-direction: column; bottom: 0; padding-bottom: 30px; row-gap: 10px; z-index: -1; }
.fab-item.call { bottom: 45px; }
.fab-item.location { bottom: 100px; }
.fab-wrapper:hover .fab-item { opacity: 1; visibility: visible; transform: translateY(-5px); bottom: 35px; }
.fab-item a:hover { background: #51b7d0; color: #fff; border: 1px solid #51b7d0; }
.fab-item a { width: 45px; height: 45px; background: #fff; color: #1a527c; border: 1px solid #00000045; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all 0.5s; }
.fab-wrapper:hover .reach-btn { background-color: #51b7d0; }
.call , .location { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.tooltip-text { position: absolute; right: 30px; background-color: #1a527c; color: #fff; padding: 6px 12px; border-radius: 50px; white-space: nowrap; font-size: 12px; opacity: 0; visibility: hidden; transform: translateY(-50%); top: 50%; transition: all 0.5s; z-index: -1; font-weight: 600; }
.tooltip-text::after { content: ""; position: absolute; top: 50%; right: -5px; transform: translateY(-50%); border-width: 5px; border-style: solid; border-color: transparent transparent transparent #0E4975; }
.call:hover .tooltip-text , .location:hover .tooltip-text { opacity: 1; visibility: visible; right: 50px; }
